COSIMA / cice5

Clone of The Los Alamos sea ice model (CICE) with ACCESS drivers. See https://github.com/CICE-Consortium/CICE-svn-trunk/tree/cice-5.1.2
4 stars 13 forks source link

CICE does not set date correctly when use_restart_time = .false. #38

Closed nichannah closed 4 years ago

nichannah commented 4 years ago

As mentioned in https://github.com/COSIMA/libaccessom2/issues/22 it looks like the driver part of CICE is not setting the year correctly when use_restart_time = .false..

The current year is being set using the forcing date rather than the experiment date.

aekiss commented 4 years ago

Reopening this issue.

Commit e3200e8 (merged in ab473434) is not conditional on use_restart_time = .false. and prevents restarting with use_restart_time = .true., so was reverted in d3e8bdfadd90bab211412da3b616869aed912501.

So as yet we don't have a neat way to deal with multiple forcing cycles (issue https://github.com/COSIMA/access-om2/issues/149) or setting date correctly with use_restart_time = .false..

Should the first argument passed to input_data here https://github.com/COSIMA/cice5/blob/d3e8bdfadd90bab211412da3b616869aed912501/drivers/auscom/CICE_InitMod.F90#L136 be conditional on use_restart_time (i.e. pass get_forcing_start_date_array if use_restart_time is true, get_cur_exp_date_array if false)?

Slack discussion is here: https://arccss.slack.com/archives/C6PP0GU9Y/p1576623326004300

nichannah commented 4 years ago

I have fixed this. More explanation below.

In the case where use_restart_time = .false. the current experiment time will be set entirely by libaccessom2 (according to user input). When use_restart_time = .true. only the start year of the experiment (CICE calls this year_init) is determined by libaccessom2 and the current experiment year is calculated using this and the time-keeping values within the restart file. To handle this libaccessom2 needs to provide something different depending on use_restart_time.