Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Classic tiegcm dev #9

Open
wants to merge 176 commits into
base: Classic
Choose a base branch
from
Open

Classic tiegcm dev #9

wants to merge 176 commits into from

Conversation

timhoar
Copy link
Owner

@timhoar timhoar commented Mar 18, 2021

just kidding

timhoar and others added 30 commits June 27, 2013 23:03
Right now they are basically stubs. The radiative transfer model from 
Ally Toure is not yet inserted into the brightnessT_mod.

The observation converters for AMSR-E are not written either, but the
interactive observation creation works.



git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6280 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: c48c791babe415b56b88ea912e16bcdc1bcccc1e
…ate scripts.

git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6284 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 4f1242b4a7874ba14d177411c75b17d592d7d344
Need one missing 'invert_matrix' routine, but need to
commit what we have (as it finally compiles and has comments
as to what we need from the CLM state).



git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6286 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 4d2b459c97a4a4853673a156913d29d262b6ff93
…ss temperatures.

Ally will debug this. I will add the CLM support to provide real values instead
of the test case.



git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6288 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 319c63b271bb2d0470fced8ddeb71c060d6d3e02
git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6289 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 8f4b70bcff5fd83dc3b0e5b0d1660663f4cee162
git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6292 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: a045cd1335cc228c434cb303a41446cb31a3d3c1
There is still work to be done to make them flexible.
There are a lot of 'FIXME's yet to tend to, but this is a huge step forward.



git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6293 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 98f3b48cc48cf3a1a28c35f87582fe57fd8b5929
Added code to entirely skip gridcells that have lake columns.
Added logic to exploit the fact the RTM code can calculate
bare soil brightness temperatures.
Area-weighted the Tb from the columns as the observation value.



git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6294 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 545c6c2b3eec0f502a19fd6a246224ecc0f7d37e
… a bit of code cleanup.

The test_ss_model() function is now entirely self-contained and is called at the
end of the initialize_model() routine if running in debug mode. 



git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6295 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 4dc9a73de4c8c2d98c066bed4039c1e01389b907
when there is a lot of water in the snow.

The obs_def_brightness_mod.f90 was refactored a little to
better allocate/deallocate and fixed an improper use
of a module variable defining the number of snow layers.



git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6296 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: f0a24479a3ccadba823d679fd48f604420d63d67
… one-sided communication calls

git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6306 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 08167bde9b5496f7c7f3bac9dea091f659c1d90d
…ly. Initial test on my machine ( 2 processors) : the first column of results matches obs_ens_handle%copies, the second does not. Committing so I can test this on Yellowstone which has a more ruthless mpi implementation. The auxiliary copies need to be dealt with (currently ignoring them until I have the remote memory access correct). This code follows Jeff's plan of creating a get_expected_obs_distrib_state and get_obs_ens_distrib_state and to verify these results against get_expected_obs, get_obs_ens ( i.e. obs_ens_handle%copies ). I have put two functions in the ensemble manager to return which pe has a given element of a state vector, and what column the element is in when copy complete. I don't think this functionality was in there, but I may be missing something.

git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6310 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: cd69b5f0b0c0cedd12bb19086d5740af272a6af2
…r as a global variable number. Added a function to ensemble manager to calculate the global number from the local variable number. I have only tested this for tiny cases on my machine. There are lots of junk print statements that will need to be removed. There are also several places in get_obs_ens where local (j) is used instead of the global number.

git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6313 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: e772327e65713839e95082a31969ba00a633be3f
…to a file (ignoring the auxiliary copies for now).

git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6314 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 981ddf3a8905b96dbffd686ecf1e20fd8d4d99b6
git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6316 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 86444aef386cc4e43472326c6b971328f7805b85
…%vars. I think this was causing seg faults in filter assim (tricky because it only happened at some task counts - be aware in case this is not fixed - test lots of task counts). Set a dummy value for obs_vals, since obs_vals(i) = state(-1 * obs_kind_ind) assumes that each task has the whole state vector. Need to check the consequences of this.

git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6318 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 7b7374b8996af2f88994d5624feb76698376801a
… is so it can be easily tested with wrf. Put a dummy value in for global_ens_index.

git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6320 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 0503a42430cbf6a1b326bfff1811853078b72d4f
…ex. This lead to the incorrect column being grabbed in MPI get. Fix is to use double precision for the division. Added a repeat of get_obs_ens_distrib_state. Still seeing a significant difference between the first communication and the second.

git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6321 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 72e34ae7baf4ee5f9b2ef471d513dd8b83cc1447
…_owner_index has this functionality (and does it better) already. Corrected the comments in get_var_owner_index and get_copy_owner_index. Tested on my machine with lorenz_96, needs testing on Yellowstone.

git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6322 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 3510cbbe94e8a3df4036099bc59707a7266a08c4
… on Yellowstone

git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6323 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 2c61d9b280eca0f0443c5dac7bd80ba16c91526f
(to my recollection).

The NRL group decided it is OK to put out the NOGAPS/DART interfaces.  However, NOGAPS code is NOT available for public download.

git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6328 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: e9cbc081935a2dc2738b352636b06811806fde30
Mostly by Tim Whitcomb (in 2010) and modified when Nancy and Tim went
to NRL in 2011. The NOGAPS/DART interfaces were deemed OK to distribute 
by NRL. The NOGAPS source code is not.



git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6331 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: ed7185589e15c3f949110d8cdbad752f987ffaa1
git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6355 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 895c38a7d5597b49b23403c61a3d1476d71dadb0
where the prior observation value is already in the incoming
obs_seq file.  namelist controlled - set an obs types list in
&filter_nml :: types_use_precomputed_priors


git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6356 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 6ffc9c132f8a0308bca381d786310d0c48c8aec7
git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6357 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: d163a51f2cc32e0042bab23d337af791a5777c77
git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6358 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 67329c315087f27a543d93ac8390b413928db733
but for now on this branch make sure the code is committed here
so it's safely in the repository.

this program runs the prior inflation code without doing
any assimilation.  it was used to update the state vector
data before computing prior forward operator values by an
external program.  after using this program, filter should
not be configured to also do prior inflation.


git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6359 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 071e370db03152502f5822a4175370ed0e501734
here for now so it's also in the repos somewhere.
this is an example of an external program which computes
forward operators outside of dart and adds them to an
obs_seq file in the format that will work with the changes
to filter that reads priors out of the obs_seq file instead
of calling foward operator code.


git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6360 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 034b31be80de1e255a4d90702fc6dae04b718c1f
… does is fill up an array that should be a duplicate of obs_ens_handle%copies. It is for lorenz_96. I've added obs_seq_mod.f90 as a shortcut, rather than altering preprocess. I created data_structure_mod.f90 which has the ensemble type and routines needed by model_mod.f90 (Lorenz_96) to do a distributed forward operator. Some discussion needed on whether this is ok from a software engineering point of view. The reason for creating data_structure_mod.f90: ensemble_manager_mod uses assim_model_mod uses model_mod. model_mod cannot use ensemble_manager_mod because it would be a circular dependency. Not looked at RAW_STATE_1D_INTEGRAL. Minimal initial testing: works on my machine for obs_seq.out, two processors. Note this is 'rough draft' of code.

git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6361 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: 907f0790c5e93c0b6b7d914887036fec78b925d8
git-svn-id: https://svn-dares-dart.cgd.ucar.edu/DART/branches@6365 dfa8782c-da17-4c45-ba5c-5625b50a00d6

Former-commit-id: f3040f9ea3839073d873e4ee2be9dbf0bdae785c
timhoar and others added 30 commits November 24, 2020 08:29
Putting source code for convert_gold_combined, convert_gold_nemax,
convert_gold_on2 and convert_gold_tdisk onto this branch. These
converters process netCDF files for GOLD Level 2 data products.
mkmf.template was changed to avoid floating invalid error.
obs_utilities_mod.f90 was changed to include functions to read 3D
netCDF data.
GOLD observation converter and update to forward operators
The forward operator code was not setting the return code
when it was succeeding.
GOLD_ON2COLUMN  forward operator return code
Fixed observation converters to read 2D latitude and longitude arrays
in Tdisk and ON2 GOLD data files.
In the GOLD observation converters cycle latloop was triggering
because it mistook lat-lon for being out of bounds. The statement
has been removed, as cases for which no good data exists will be
identified elsewhere and not written to obs_seq.out files.
setting correct return status for GOLD_NEMAX operator
The ongoing saga of whether they are 'CHAMP_DENSITY' observations
or 'CHAMP_MASS_DENSITY' or ... continues.  Since Manhattan has
'CHAMP_DENSITY', I'm going with that.
Creates an inflation file if one does not exist.
Does not use obs_seqence tool to cut out desired observations
Also needs to prepend an 'advance_to_time' before dart_to_model
The assumption here is the there is a single large observation
sequence file that gets processed into a 1-hour assimilation-sized
file. The 'advance_to_time' record is prepended to the output of
filter so 'dart_to_model' (in advance_tiegcm.csh) correctly creates
the 'namelist_update' file.
Next step is to replace the job array with whatever is recommended
by the gadi administrators.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants