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

puzzle of not reproducable initial runs from restarts #424

Open
suvarchal opened this issue Feb 10, 2023 · 3 comments
Open

puzzle of not reproducable initial runs from restarts #424

suvarchal opened this issue Feb 10, 2023 · 3 comments
Milestone

Comments

@suvarchal
Copy link
Collaborator

Here is what i mean by the title, I am using (branch of) the master branch, the experiment is as follows:

  • a cold-start run starting at 0 1 1958 run for 20 steps.
  • a restart run until 20th step started from cold-start like above run initially for 10 steps and restarted for 10 next steps.

now comparing output sst (and sss) quickly say using global sum mean square difference as function of time:
image

exactly around 10th step the runs starts to diverge, I would surprised and assume that it shouldn't be that way. Is is some quirk of time stepping that we cannot save the state exactly?(unlikely i presume). Anyway I feel somewhat model is reading/replacing current time value in restart run from climatology (do_ic3d to read is used to read clim even in restart) then from restart file could that be true?

of course one can even reduce experiments to 2 steps to replicate the behavior.

@koldunovn
Copy link
Member

The problem is forcing. When you run consequently the forcing is interpolated between forcing time intervals (e.g. 3 hours). When you doing restart, the closest forcing time step is taken.

@suvarchal
Copy link
Collaborator Author

@koldunovn thanks.

and thanks to @patrickscholz @dsidoren, found a way to test if forcing interpolation are causing this, so we forced the forcings to be constant: 0.0 in gen_forcings_couple.F90 using atmdata=0.0 just above this line

u_wind = atmdata(i_xwind,:)
and returning immediately after the block of initialization.

did a new set of same experiment as above, the differences are significantly less (blue line below) not but there is probably one more issue somewhere else.

image

I guess we should at some point fix this by interpolating consistently with whats done in regular time stepping loop or by less elegantly saving forcings in the restarts like @patrickscholz suggests would be easy thing to do.

@JanStreffing
Copy link
Collaborator

JanStreffing commented Aug 27, 2024

Is this something we should invest time in still? See also: #350

@JanStreffing JanStreffing modified the milestones: FESOM 2.6.1, FESOM 2.7 Aug 27, 2024
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

No branches or pull requests

3 participants