Add low resolution dataset for DYAMOND summer#77
Add low resolution dataset for DYAMOND summer#77sriharshakandala wants to merge 2 commits intomainfrom
Conversation
|
This is not quite right. To get the level -> pressure -> z conversion, you need to follow what is done here for the aerosols. With this, you will have a different z for each grid point, and you will need to interpolate to a fixed z coordinate, as in the aerosol artifact. After you fix it, Could you make some latitude-pressure plots for different variables so I can take a look at whether it is reasonable? |
0a72619 to
0bd3fce
Compare
|
Tested on M1 Mac desktop; using locally generated plot script to viz datasets (some variable name choices in the generated dataset are unusual e.g. dyamond_ciwc.pdf |
|
Thanks @akshaysridhar. Could you make some lat-lon plots at e.g. surface, 2km, and 5km (the z level doesn't need to be accurate)? I mostly want to make sure things are correct over topography. |
|
~10m: hus, ta ~2km : hus, ta ~5km: hus, ta |
dd988b8 to
58b7974
Compare
|
Please also update the README to describe the processing is done (See the README in the aerosol artifact for example). |
|
Also, this artifact is missing the Manifest.toml |
|
@szy21 : Would it be ok to compute |
Yes, that’s fine. How is it more efficient though? |
For this low-resolution case, it reduced the processing time to about 25 sec from 400 sec. I would assume the |
|
It's not immediately clear to me that computing in atmos would be faster (what's faster: a linear interpolation, or computing some thermodynamic variables? The answer will be different for different resolutions and devices; for GPUs, it is probably preferable to reduce the file size anyway). More importantly, this is only done at initialization, so performance is not important (unless it's really slow). What's preferable is trying to avoid introducing additional errors, if that can be avoided. Interpolating and them computing variables is different from computing variables and then interpolating. My preference would go for the first (meaning, compute everything in ClimaAtmos) for two reasons:
|
c5cf282 to
b07ebc6
Compare
b07ebc6 to
c31beb7
Compare
|
https://buildkite.com/clima/climaatmos-target-gpu-simulations/builds/396#019461bf-f7e7-488d-9e35-83a91667450c Following this build I think we can clean up this PR and formalize the |
|
What's the status of this PR? |
I have updated it to use the |
…itial conditions.
0dfb5d5 to
0fc6b88
Compare
|
@ph-kev @imreddyTeja Any further comments on this PR? Do we merge this and close #78 ? |
|
@ph-kev Is it worth generalizing these regridding tools : |
| p = defVar(ncout, "p", FT, ("lon", "lat", "z",), attrib = OrderedDict( | ||
| "Datatype" => string(FT), | ||
| "standard_name" => "pressure", | ||
| "long_name" => "pressure", | ||
| "units" => "Pa", | ||
| ), | ||
| ) |
There was a problem hiding this comment.
For this and altitude, it would be good to also include the short name as well.
I think it depends on the use case of the regridding tools. Is it for making NetCDF files or something beyond that? If it is just for NetCDF files, I think it is okay to add them to ClimaUtilities. |
| The downloaded artifact has a resolution of about 0.14 degrees. A low-resolution version of this data, with a resolution of about 1 degree (0.98 degrees) and a custom vertical grid that is uniform across all columns, is generated. The following procedure is followed for generating the low-resolution data: | ||
|
|
||
| - Since the horizontal grid is uniformly spaced, a low-resolution horizontal grid is generated by skipping some horizontal points. | ||
| - The input file uses hybrid sigma pressure coordinates in the vertical direction. First, we compute the pressure at the vertical levels using $P = ap(k) + P_S b(k)$. In the file, this is $P_S$ = `exp(lnsp)`, b = `hybm` and a = `hyam`. Next, we assume a hydrostatic profile and convert pressure to altitude over the mean sea level using $P = P0*exp(-z / H)$ with scale height $H$. We assume $P^* = 1e5$ (Pa) and $H = 7000$(m). Now, we select our target z, from 10m to 80km, and interpolate all source data onto this grid. We use "Flat" boundary conditions for those points that are outside the range of definition. |
There was a problem hiding this comment.
Assuming
There was a problem hiding this comment.
Integrating hydrostatic balance is in fact what's being done below.


Add a low-resolution initial conditions dataset for DYAMOND summer simulation.
Checklist:
$artifact_nameREADME.mdin that that folder thatLICENSEfileProject.tomland
Manifest.toml)OutputArtifacts.tomlfile containing the informationneeded for package developers to add
$artifact_nameto their package/groups/esm/ClimaArtifacts/artifacts/$artifact_name)Overides.tomlon the Caltech Cluster(in
/groups/esm/ClimaArtifacts/artifacts/Overrides.toml)README.mdto point to the new artifact