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
Highcam #422
Highcam #422
Conversation
Main motivation was to get the CAM-SE branch.
assimilating obs at the cam model top leads to problems because the model top has a fixed upper bound. this program uses the routine inside the cam model_mod.f90 to remove obs above a given model level.
add some command line args to control how much to sort (all contents of nameslists but leave the namelists in the original order, vs sorting the namelists themselves into alphabetical order), and whether to remove comment lines outside of namelists or not.
@nancycollins I am going to split this into two pull requests (clean_nml and high cam) and then ask you a bunch of questions on both. Stay tuned |
@nancycollins @hkershaw-brown |
clean_nml moved to pull request #424 |
highcam is the name of the git branch with the camdart_obs_preprocessor code in it. |
to handle PR #422.
trim(filename_out) | ||
call error_handler(E_MSG,'main',msgstring,source) | ||
|
||
print*, 'Number of obs in the output seq file :', get_num_key_range(seq_out) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why the different methods for printing messages? (print and error_handler(E_MSG...)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
line 271 looks like a debugging line that should be removed. i'm also a bit mystified about the "if not verbose" test at 260. it looks like that should be "if verbose". i think the idea was verbose messages might print to the screen but other messages go into the log as well as screen. my suggestion is to run it a couple times with and without verbose and decide what you think are the most useful messages for various situations - like if the output file is empty, what info would help to print out? and put those prints in the verbose sections. and if you want to use msg for everything, i'm ok with that too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've made some changes, which I'll push for people to check out.
I went a bit beyond what's been suggested so far.
| | | | | ||
+--------------+--------------------+--------------------------------------------------------------------------------+ | ||
| calendar | character(len=32) | The string name of a valid DART calendar type. (See the | | ||
| | | :doc:`../../modules/utilities/time_manager_mod` documentation for a list of | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
links to other documentation look like ':doc:`../../../assimilation_code/'...
in the github rendering. Will it look different in the docs.dart.ucar.edu?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i'm going to leave the doc situation to others - i haven't done it enough to understand the current process, sorry.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nancycollins @hkershaw-brown
I've made a few comments and suggestions.
None of them are worrisome.
hi kevin, thanks for the review - all good points. if you're willing to address all or some of them, i'd love for you to be the one to take ownership of this program since it's possibly going to be needed for more functions in the future. if you're busy or don't want to address some, email me and i'll look at doing some of the updates. thanks. |
I agree that it makes sense for me to look after it. |
and fixed typos in the previous commit (camdart -> cam_dart changes).
Added E_WARN to the program.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is up with these merges from the CAM-SE branch?
cam_dart_obs_preproessor is not in the table of contents for the documentation.
We can talk about this after thanksgiving, but this merge history is weird. When working with a pull request you can checkout the feature branch https://ncar.github.io/dart-developers-guide/reviewing.html Don't accept this pull request as is. |
I wasn't aware of the reviewing.html. Thanks for the tip. I'll try to understand it before any more github work. I'm working in /glade/u/home/raeder/DART/Manhattan_git. |
moved commits to high-cam |
Description:
Adds a new program to remove obs above a given CAM model level from an obs_seq file. This program takes a single obs_seq file in and writes a single obs_seq file out without the high obs. In the future it could also superob dense obs, change obs errors near the surface, or any other CAM-specific processing that might be needed.
It can either be added to the cam workflow scripts, or a month of obs files could be run offline ahead of time and then the cam scripts can read in the updated files instead of the originals.
Edit: this has been moved to pull request #424
Also added an unrelated update to the clean_nml.c program to capture additional features i've added to it. Probably should be moved to its own pull request but it's a single file update so i dumped it here.Fixes issue
#415
Types of changes
Documentation changes needed?
Tests
Ran with one of the reanalysis obs_seq files and it removed the high obs.
Checklist for merging
Checklist for release
Testing Datasets