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

Update to CICE-Consortium main #422117fc5d Oct 9, 2022 #102

Merged
merged 9 commits into from
Oct 10, 2022
Merged

Conversation

apcraig
Copy link
Owner

@apcraig apcraig commented Oct 10, 2022

PR checklist

  • Short (1 sentence) summary of your PR:
    Update to CICE-Consortium main #422117fc5d Oct 9, 2022
  • Developer(s):
    apcraig
  • Suggest PR reviewers from list in the column to the right.
  • Please copy the PR test results link or provide a summary of testing completed below.
    This is bit-for-bit with #422117fc5d on consortium main, https://github.com/CICE-Consortium/Test-Results/wiki/cice_by_hash_forks#14c8157acaca854d438a2f6dee58ca5edea48317
  • How much do the PR code changes differ from the unmodified code?
    • bit for bit with #422117fc5d
    • different at roundoff level
    • more substantial, not bit-for-bit with latest E3SMIcepackDEV
  • Does this PR create or have dependencies on Icepack or any other models?
    • Yes
    • No
  • Does this PR update the Icepack submodule? If so, the Icepack submodule must point to a hash on Icepack's main branch.
    • Yes
    • No
  • Does this PR add any new test cases?
    • Yes
    • No
  • Is the documentation being updated? ("Documentation" includes information on the wiki or in the .rst files from doc/source/, which are used to create the online technical docs at https://readthedocs.org/projects/cice-consortium-cice/. A test build of the technical docs will be performed as part of the PR testing.)
    • Yes
    • No, does the documentation need to be updated at a later time?
      • Yes
      • No
  • Please provide any additional information or relevant details below:

This bring in

  • Update dEdd implementation in Icepack (changes answers, to be consistent with E3SM branch)
  • Refactored evp subcycling loop (bit-for-bit)
  • Move deformation computation out of B subcycling loop (changes answers)
  • Update grid averaging for tmass, aice, uvelT, vvelT (changes answers)
  • Add variable grid spacing box configuration
  • Update Pull Request Template and documentation

daveh150 and others added 9 commits August 22, 2022 14:34
CICE-Consortium#746)

* Added dxgrow, dygrow to facilitate variable spaced grid. Modified rectgrid to generate grid from center outward using growth factor

* Adding vargrid namelist options.

* Refactored rectgrid to compute dx/dy first. Then ULON/ULAT. Added scale_dxdy flag to check of want grid spacing scaled. Renamed dxgrow/dygrow to dxscale/dyscale.

* Added method to check for odd nx_global/ny_global when applying grid spacing scale factors

* Update comments before computing dx/dy

* Update comments when checking for even/odd

* made grid_lonref, grid_latref namelist varaibles. Removed vargrid_suite.ts. Updated the box nml to specify the default grid_lonref and grid_latref for future reference.

* Change grid_lonref/grid_latref to lonrefrect,latrefrect. Reduce default vargrid tests to 3 per B,C,CD grid.

* Make new subroutine rectgrid_scale_dxdy to implemnet grid scaling. Remove explicit latrefrec/lonrefrect from set_nml. Make dxscale,dyscale,latrefrec,lonrefrec double precition in ice_in

* Add set_nml.scale1 to test vargrid with dxscale/dyscale = 1.d0

* Remove lonrefrec/latrefrec from boxnodyn

* Add lonrefrect, latrafrect to documentation

* Inserted new scaled grid varibles in alphabetical order in documentation
…CE-Consortium#754)

* Update Pull Request Template, add question about updating Icepack
* Refactored evp sub cycling loop

* corrected indent and case for dyn_haloUptdate
…um#758)

In 3fedc78 (Allow for read of tlat, tlon, anglet with popgrid (CICE-Consortium#463),
2020-06-24), ice_grid::init_grid2 was changed so that ice_grid::Tlatlon,
which computes the TLAT and TLON arrays from ULAT and ULON, is only
called if the private module variable 'l_readCenter' is false.

The idea is that if the grid file contains a variable 'anglet', then it
is assumed that it also contains variables 'tlon' and 'tlat', and so
these fields are read directly instead of being computed.

This logic, however, was only implemented in ice_grid::popgrid_nc, which
sets 'l_readCenter' depending on the presence or absence of 'anglet' in
the grid file. This means that if 'popgrid_nc' is not called (for
example with "grid_format='bin'", in which case init_grid2 calls
'popgrid' and not 'popgrid_nc'), then 'l_readCenter' is used
uninitialized in init_grid2, and so it's possible that 'Tlatlon' is not
called, if 'l_readCenter' happens to be initialized to true.

This in turns leads to 'TLAT' and 'TLON' being uninitialized, and the
code failing when accessing these arrays if compiling with NaN
initialization.

Fix this by initializing 'l_readCenter' at the beginning of init_grid2,
such that it is initialized for all choices of 'grid_format' and
'grid_type'. Remove the initialization in 'popgrid_nc'.
* move deformation out of loop for B grid only

* Moved C and CD grid deformations

* correct location of bgrid deformation
* Update dEdd implementation

- Update Icepack with several fixes (changes answers for tr_aero)
- Update bgc aerosol table to higher precision
- Add modal aerosol tests
- Update test suites

* Update Icepack including dEdd fixes
)

* Update grid averaging for tmass, aice, uvelT, vvelT

- Update tmass and aice T2U mapping, switch from "F" to "S", F was backwards compatible but not correct (changes answers)
- Update ocean forcing T2U averaging in ocn_data_ncar_init, change "F" to "A".
- Update uvelT, vvelT averaging in step_therm1, change from 4 point average to U2TA (changes answers for highfreq=.true.)
- Remove history grids not needed (i.e. ustr3Dz)

* Refactor uvelT, vvelT implementation
Mention that CICE must be cloned with '--recurse-submodules' for Icepack
to also be cloned, formatting the 'git clone' command as a code block,
and fix the link to the Git Workflow Guide.
@apcraig
Copy link
Owner Author

apcraig commented Oct 10, 2022

I have confirmed this merge now makes the E3SMIcepackDEV branch bit-for-bit with the current Consortium main, #422117fc5d. This also brings E3SMIcepackDEV fully up to date with CICE Consortium main #422117fc5d.

Copy link
Collaborator

@eclare108213 eclare108213 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My comment needs to be done in CICE main before E3SMIcepackDEV - just making a note for followup. It only needs a sentence...

"``dyrect``", "real", "y-direction grid spacing for rectangular grid in cm", "0.0"
"``dyscale``", "real", "user defined rectgrid y-grid scale factor", "1.0"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the variable rectgrid scaling not described elsewhere in the docs? I don't see it. Would be good to add a brief description somewhere, maybe in one of the sections that mention the box tests like 3.3.1.3.1. box2001.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree this should be addressed on Consortium main and should have been addressed better when the variable grid stuff was added. I have added an issue so we don't forget, CICE-Consortium#770.

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.

5 participants