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

Changes to cosp error checking routine #10

Merged
merged 5 commits into from
Apr 25, 2018
Merged

Changes to cosp error checking routine #10

merged 5 commits into from
Apr 25, 2018

Conversation

dustinswales
Copy link
Contributor

I propose to merge some improvements onto the COSP2 master branch.

  1. Expanded error checking routine.
    Background: Currently all inputs provided to COSP2 are passed to an error checking routine, where they undergo a basic sanity check before the simulators are called. If erroneous input values are encountered, the simulators which are dependent on those inputs are turned off, the requested diagnostics are set to fill values, and an error message is provided.
    In CESM2, where RTTOV is not used, I had to comment out the checking of the RTTOV inputs, as they are not provided. This is less than ideal, as this requires a special installation of COSP2 in CESM2.
    Solution: Expand the error checking routine to ensure that the correct inputs are provided for the requested diagnostics. This solution is general and extends to other COSP2 configurations.

  2. Cleaned up initialization routine. Removed unused arguments from subroutine cosp_init.

@klein21
Copy link

klein21 commented Apr 23, 2018

Although this does seem OK to me, I defer to Alejandro to express an opinion on these changes.

I do have a question. Does the statement "Removed RTTOV fields from cosp_init" mean that users must edit to the code now to use RTTOV if they wish?

I guess I am a bit curious about the status of RTTOV within COSP. It's always been half in - half out. Do we want to keep it that way? Or would it be better to move to fully in, or fully out?

@dustinswales
Copy link
Contributor Author

Steve,

I scoped out updating to a more recent version of RTTOV for COSP2 (currently up to RTTOV12.2), but it turns out that the more recent versions of RTTOV are not backwards compatible with older versions. In a nutshell, it was quite a bit of work to bring COSP2 up-to-date with new versions of RTTOV, so we didn't. COSP2 is distributed using a stub for RTTOV, so the infrastructure is in place for someone to pick this up, but would require some work on their part. I'd say RTTOV is more out than in...
The arguments I removed from cosp_init were all for RTTOV9.3, which we decided awhile back to drop support for in COSP2.

Dustin

@klein21
Copy link

klein21 commented Apr 23, 2018

Dustin,

Thanks for explaining the current situation.

Steve

@RobertPincus
Copy link
Contributor

RobertPincus commented Apr 24, 2018 via email

@klein21
Copy link

klein21 commented Apr 24, 2018 via email

@dustinswales
Copy link
Contributor Author

@alejandrobodas
Do you have any objections to this update on the master branch?

@alejandrobodas
Copy link
Collaborator

Hi @dustinswales I have no objections to these changes. However, I think the driver should also be updated and check the error messages. At the moment, if one implements COSP as it is done in the driver, the model won't stop if an error occurs, and since the error messages are not printed out as warnings, the user won't know why the diagnostics contain missing data.

Regarding RTTOV, I think we are pretty much in the position that @klein21 favours (once this change is merged).

@klein21
Copy link

klein21 commented Apr 25, 2018 via email

@alejandrobodas
Copy link
Collaborator

Yes, for the moment, I think it makes sense to put it in a closet. That is how it's always been in COSP1, and it hasn't created any problems.

@dustinswales
Copy link
Contributor Author

@alejandrobodas
I've added a few lines to the driver to print error messages when errors occur.

@dustinswales dustinswales merged commit 53a0ebd into master Apr 25, 2018
@dustinswales dustinswales deleted the ucar-eaton branch April 25, 2018 15:51
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.

4 participants