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

Cice config #17

Merged
merged 5 commits into from
Dec 3, 2023
Merged

Conversation

anton-seaice
Copy link
Contributor

@anton-seaice anton-seaice commented Oct 27, 2023

Copy OM2 config across from https://github.com/COSIMA/1deg_jra55_ryf/blob/master/ice/cice_in.nml

Noting

@anton-seaice anton-seaice marked this pull request as ready for review October 29, 2023 23:18
@anton-seaice
Copy link
Contributor Author

@aekiss Can you review?

@aekiss
Copy link
Contributor

aekiss commented Oct 31, 2023

Great, thanks @anton-seaice I'll hopefully have a chance to look at this on Thursday.

@aekiss
Copy link
Contributor

aekiss commented Oct 31, 2023

Here's a table comparing this PR to ACCESS-OM2 and the current MOM6-CICE6 settings. Differences are in bold.
This table shows only the differences.

@anton-seaice
Copy link
Contributor Author

Here's a table comparing this PR to ACCESS-OM2 and the current MOM6-CICE6 settings. Differences are in bold. This table shows only the differences.

Thanks - at some point we might want to figure out how to add a notes column to the table? (And ideally the default values too!)

@dougiesquire
Copy link
Collaborator

Here's a table comparing this PR to ACCESS-OM2 and the current MOM6-CICE6 settings. Differences are in bold.
This table shows only the differences.

@anton-seaice, how come there are there are lots of variables in your namelist that are different to both ACCESS-OM2 and the current MOM6-CICE6?

@anton-seaice
Copy link
Contributor Author

@anton-seaice, how come there are there are lots of variables in your namelist that are different to both ACCESS-OM2 and the current MOM6-CICE6?

Noting I deleted all the lines where we use the default value, other differences are:

  • sometimes CICE5 compiler options are now CICE6 config options (e.g. nblyr)
  • sometimes the directories/paths/filenames are controlled by NUOPC now instead of CICE
  • I need to double check albedo_type

Did you have specific examples?

@dougiesquire
Copy link
Collaborator

Did you have specific examples?

Possibly most of what I was looking at is due to default stuff being removed. But yes, the albedo_type and also write_ic I suppose

@anton-seaice
Copy link
Contributor Author

There are a few items defined in both ice_in and nuopc.runconfig which is confusing at best:

  • I deleted nprocs from ice_in becuase the one in runconfig is the one that is used
  • ice_ncat, ice_nx, ice_ny in nuopc.runconfig appear to not be used (they are set also in ice_in ) but I haven't deleted them.
  • I didn't dig into the ICE_modelio section in nuopc.runconfig but suspect most of those fields don't matter.

I will turn off the writing initial conditions again, and set albedo_type to default in ice_in.

I thought / assumed all the output fields were not saved by default. By there is a whole list here: https://github.com/CICE-Consortium/CICE/blob/4450a3e8c64bc07d1173eb3e341cd8dea91d5068/cicecore/cicedyn/analysis/ice_history_shared.F90#L202 which are saved monthly by default, which I will need to work through to set to match the OM2 config.

@anton-seaice
Copy link
Contributor Author

I have gone through and fixed this to correct for the icefields which are on by default. Here are the CICE log extracts which list the output fields - based on the latest commit (76b2c60).

om2_ryf_example.log
cice_config_extract.log

The only substantive difference is fsensn_ai_m which looks like if was off by mistake in OM2 (we were saving the closely related flatn_ai_m)

@anton-seaice
Copy link
Contributor Author

@aekiss Have you been able to have a look?

block_size_x = 20
block_size_y = 16
distribution_type = "sectrobin"
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd prefer to keep these to make it explicit, as we'll be tuning them

  distribution_type = "sectrobin"
  distribution_wght = "blockall"

ice_in Show resolved Hide resolved
ns_boundary_type = "tripole"
nx_global = 360
ny_global = 300
processor_shape = "square-ice"
processor_shape = "slenderX2"
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
processor_shape = "slenderX2"
processor_shape = "slenderX1"

to match access-om2

Copy link
Contributor Author

Choose a reason for hiding this comment

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

With the block size and nx/ny settings here, we have 18 blocks in the x direction and 19 in the y direction.

With slenderX1, this gives 19 blocks per processor but only 18 processors would be used. With slenderX2 we get 9/10 blocks per processor and 36 processors used.

Now that I write this, maybe we should change the block_size_x to 16 and block_size_y to 15 with slenderX2 as this gives still 10 blocks per processor but they are slightly smaller and all 48 processors are actually used.

Copy link
Contributor Author

@anton-seaice anton-seaice Nov 30, 2023

Choose a reason for hiding this comment

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

Oh. processor_shape only matters if we set distribution_type="cartesian" so I set

Distribution type     = cartesian
Distribution weight   = latitude

to match OM2

Copy link
Contributor

Choose a reason for hiding this comment

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

ok it doesn't matter a lot at this stage as the core count will probably change

ice_in Show resolved Hide resolved
ice_in Outdated
coriolis = "latitude"
cstar = 20.0d0
e_plasticpot = 2.0
e_yieldcurve = 2.0
k1 = 8.0d0
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
k1 = 8.0d0

suggest using default landfast parameterisation here until we have a reason to change

ice_in Show resolved Hide resolved
ice_in Show resolved Hide resolved
ice_in Outdated
rotate_wind = .true.
saltflux_option = "prognostic"
tfrz_option = "mushy"
tfrz_option = "linear_salt"
update_ocn_f = .true.
ustar_min = 0.005
Copy link
Contributor

Choose a reason for hiding this comment

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

ice_in Show resolved Hide resolved
ice_in Outdated
albsnowv = 0.98
dt_mlt = 1.50
dt_mlt = 1.0
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
dt_mlt = 1.0
dt_mlt = 1.0
dalb_mlt = -0.02

to match access-om2 since this isn't the default

Copy link
Contributor Author

Choose a reason for hiding this comment

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

If would be nice if we can figure out the history / justification for these. It looks like in earlier "AusCOM" definitions dt_mlt meant

change in temp to give dalb_mlt albedo change" (which is hardcoded to 1 now)

but now it means :

change in temp for non-melt to melt snow grain radius change (C)

And looks like its only used for shortwave=dedd (we use default shortwave=ccsm3)

I guess dalb_mlt could have been set to reflect Antarctic vs Arctic differences? (although possibly surprising to not also set dalb_mltv dalb_mlti)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It looks like dalb_mlt was added to the namelist for AusCOM and is not configurable by default. (https://github.com/COSIMA/cice5/blob/edcfa6f9c76ed05b63196ce4b5355fa5a8f4fe3a/source/ice_init.F90#L178)

Copy link
Contributor

Choose a reason for hiding this comment

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

looks to me like AusCOM used dalb_mlt, but subsequently the same name was used in an update to cice to mean something else

Copy link
Contributor

Choose a reason for hiding this comment

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

ok let's omit both dt_mlt and dalb_mlt

ice_in Outdated
Comment on lines 47 to 49
sw_dtemp = 0.01d0
sw_frac = 1.0d0
sw_redist = .true.
Copy link
Contributor

Choose a reason for hiding this comment

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

these three seem to be for a new feature in cice6 - so should we set

sw_redist = .false.

for now to match access-om2?

Copy link
Contributor

Choose a reason for hiding this comment

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

actually, that's the default, so all 3 could be deleted, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah - I get this warning with it set to false:

 (input_data) WARNING: ktherm = 1 and sw_redist =  F
 (input_data) WARNING:   For consistency, set sw_redist = .true.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It looks like it used to be on by default for BL99, so sw_redist=.true. would be correct to be consistent with OM2

ref: CICE-Consortium/Icepack#326 (review)

Copy link
Contributor

Choose a reason for hiding this comment

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

ok how about we set

sw_redist = .true.

and leave the others as default values

@aekiss
Copy link
Contributor

aekiss commented Nov 29, 2023

OK I've looked through everything, apart from diagnostics (which we'll adjust anyway) and BGC (which we can think about later, since CICE6 has significantly improved BGC capabilities).

I've noted just a few things to change and then it will be ready to merge.

@aekiss
Copy link
Contributor

aekiss commented Nov 29, 2023

I've also updated the comparison table

@anton-seaice
Copy link
Contributor Author

Thanks @aekiss . I responded to all the comments I think

Copy link
Contributor

@aekiss aekiss left a comment

Choose a reason for hiding this comment

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

thanks @anton-seaice, happy for you to merge

@anton-seaice
Copy link
Contributor Author

@aekiss - I don't have write access to this repo!

@micaeljtoliveira
Copy link
Contributor

@aekiss - I don't have write access to this repo!

Should be fixed now.

@anton-seaice anton-seaice merged commit c45fb28 into ACCESS-NRI:1deg_jra55do_ryf Dec 3, 2023
@anton-seaice anton-seaice deleted the cice_config branch December 3, 2023 23:45
anton-seaice added a commit that referenced this pull request Dec 20, 2023
* Copy OM2 CICE Config

* updates for icefields which are on by default

* address review comments

* review comments

* review comments
anton-seaice added a commit that referenced this pull request Dec 20, 2023
* Copy OM2 CICE Config

* updates for icefields which are on by default

* address review comments

* review comments

* review comments
@micaeljtoliveira micaeljtoliveira added cice6 Related to CICE6 1deg_jra55do_ryf 1deg_jra55do_ryf configuration labels Jan 25, 2024
@micaeljtoliveira micaeljtoliveira added this to the 0.3.x milestone Jan 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1deg_jra55do_ryf 1deg_jra55do_ryf configuration cice6 Related to CICE6
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants