CRTM version and coefficient file information #343
Replies: 0 comments 2 replies
-
Just saw this. Thanks for the info. I'm still going through it all, but some initial comments. We have a And a
It was easier to split it up as a separate package with its own hash and version, but perhaps they should be combined to just use the git-lfs binaries. It was over the quota once which wasn't a problem with FTP. I had a problem building the JEDI 2.4.0 release with Ecbuild a while back, but maybe that has been fixed?
What we have now specifies the hash that was at the tip of the branch when I created the package. We could set it to do it by branch, but would it be possible to offer point releases based off of that branch? I think it would be clearer that way. We also have this workaround in crtm-fix that goes back to earlier this year. I don't really get what the issue was, but the big endian |
Beta Was this translation helpful? Give feedback.
-
@kgerheiser see #155 for updated tags and coordination with Dom. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
This issue to help guide the addition and use of the CRTM releases from JCSDA.
There are 4 primary "releases" of the CRTM that requires support. The primary difference between
_emc
and_jedi
is in the build system and binary file handling._emc
requires cmake only, where_jedi*
requires ecbuild, and the_emc
releases use git-LFS to directly obtain the coefficient files when cloning the repository. I also maintain an FTP server that has tarballs (duplicates of the git-LFScrtm/fix/
structure).Here are the branch names, available from https://github.com/JCSDA/crtm.git
Note: We chose to use
release/
branches (rather than relying on tags alone) to enable post-release support updates to build system / data sources, or to fix coefficient coefficient files, etc.Therefore, selecting a specific hash in spack is probably not ideal -- but rather one should be checking out the "tip" of the release branch of interest. I recognize this "release branch" approach complicates the git history, but it greatly simplifies support. Open to recommendations.
There are also some differences between the coefficient packages (i.e., the 'fix/' directory that contains all of the little endian and big endian files, along with netcdf counterparts where available). The
_jedi
requirements are more lightweight than_emc
. JEDI/UFO wanted a minimal set of coefficients -- little endian only, and a subset of instruments. The EMCfix/
is the the entirety of big_endian, little_endian, and netcdf files.Rationale
No response
Description
Here's the details of the differences between the 4 "releases" that we're interested in supporting in spack:
REL-2.3.0_emc (left) vs. crtm_jedi (right), filenames that are different:
These differences are primarily related to build system support, with some legacy support for autotools build.
crtm_jedi
also contains an entiretest/
directory that was not present in theREL-2.3.0_emc
release.REL-2.3.0_emc
contains thefix/
directory (obtained via git-LFS on checkout), whichcrtm_jedi
does not.Comparing
ctm_jedi_v2.4.0
andREL_2.4.0_emc
is more challenging. withcrtm_jedi_v2.4.0
, we released it in the same directory structure that we use for development, rather than a "build release", whichREL-2.3.0_emc
,REL-2.4.0_emc
, andcrtm_jedi
were released as. In the future, all releases of CRTM will use the same structure ascrtm_jedi_v2.4.0
. Here's the 2 leveltree
for crtm_jedi_v2.4.0.where the source codes are distributed under these various
src/*
directories.vs. the tree of
REL-2.4.0_emc
where all source codes are flat in
libsrc
.Now, to the code differences themselves:
REL-2.3.0_emc
vs.crtm_jedi
has lots of code differences, however, most of it is related to (a) documentation material that was removed forcrtm_jedi
, internal module ID information that was added by SVN (and removed incrtm_jedi
).However, there are some critical code differences relating to an openMP implementation in crtm_jedi, but numerically the results are identical within at least single precision (1e-6). There's also a lot of documentation differences between the codes. I have an extensive "diff", and can provide that if necessary.
The code differences between
REL-2.4.0_emc
andcrtm_jedi_v2.4.0
are minimal.The primary differences is this addition to the
Reflection_Correction_Module.f90
to deal with small transmittance values causing an underflow in certain situations:Additional information
No response
General information
spack --version
and reported the version of SpackBeta Was this translation helpful? Give feedback.
All reactions