m2lines / Spinup-NEMO

0 stars 0 forks source link

Error when running the Restart file #26

Open isaacaka opened 5 days ago

isaacaka commented 5 days ago

When running the restart file generated by Spin-Up NEMO, I get this error.

Error

  ===>>> : E R R O R

          ===========

  ===>>>> : problem with nit000 for the restart
  verify the restart file or rerun with nrstdt = 0 (namelist)

Configuration

!-----------------------------------------------------------------------
&namrun        !   parameters of the run
!-----------------------------------------------------------------------
   nn_no       =       0      !  job number (no more used...)
   cn_exp      = 'DINOexp1' !  experience name
   nn_it000    =       576000      !  first time step
   !nn_itend    =       32     !  last time step (32 it => 1 day, 11520 => 1 year)
   nn_itend    =       115200   !  last time step (32 it => 1 day, 11520 => 1 year)
   nn_istate   =       0      !  output the initial state (1) or not (0)
   ! nn_stock    =      11520   !  frequency of creation of a restart file (modulo referenced to 1) 50 years
   ! nn_write    =      11520   !  frequency of write in the output file   (modulo referenced to nn_it000)
   nn_leapy    =   30         !  Months of 30 days (year of 360 days)
   ln_rstart = .true.        !  start from rest (F) or from a restart file (T)
      !nn_euler    =    1      !  = 0 : start with forward time step if ln_rstart=T
      nn_rstctl   =    2 !  restart control ==> activated only if ln_rstart=T
      !!                          !    = 0 nn_date0 read in namelist ; nn_it000 : read in namelist
      !!                          !    = 1 nn_date0 read in namelist ; nn_it000 : check consistancy between namelist and restart
      !!                          !    = 2 nn_date0 read in restart  ; nn_it000 : check consistancy between namelist and restart
      cn_ocerst_in = "DINO_00576000_restart" !  suffix of ocean restart name (input)
      cn_ocerst_indir = "."         !  directory from which to read input ocean restarts
      cn_ocerst_out   = "restart"   !  suffix of ocean restart name (output)
      cn_ocerst_outdir = "."         !  directory in which to write output ocean restarts
GuillaumeGACHON commented 4 days ago

Hmm. nn_itend is smaller than nn_it000, it would be a problem if we didn’t evaluate nn_it000 from the restart file. @isaacaka Can you give me the value in the corresponding restart filename, please ? And the value for variable time_counter in the restart file ?

isaacaka commented 1 day ago

Thanks, I meant for nn_itend = 1152000, I missed a zero. Although I still get the same error when I run it.

I did a 30 year projection, with data from 0-20 years. So I expected to run the restart from the 50th year.

The time counter value I get is: [576000.] image

I am not sure which variable nn_it000 corresponds to in the restart file. I assumed it would be time_counter?

I attached the list of data variables which are present in the restart file

New_Restart_File_data_variables.txt

I will email you the restart file.

GuillaumeGACHON commented 21 hours ago

OK, i might have found the reason. I just looked around in David’s files on our cluster and here’s his version of a configuration section :

!-----------------------------------------------------------------------
&namrun        !   parameters of the run
!-----------------------------------------------------------------------
   nn_no       =       0      !  job number (no more used...)
   cn_exp      = 'DINO' !  experience name
   nn_it000    =       17856001      !  first time step 
   !nn_itend    =       32     !  last time step (32 it => 1 day, 11520 => 1 year)
   nn_itend    =       18432000   !  last time step (32 it => 1 day, 11520 => 1 year)
   nn_istate   =       0      !  output the initial state (1) or not (0)
   ! nn_stock    =      11520   !  frequency of creation of a restart file (modulo referenced to 1) 50 years
   ! nn_write    =      11520   !  frequency of write in the output file   (modulo referenced to nn_it000)
   nn_leapy    =   30         !  Months of 30 days (year of 360 days)
   ln_rstart = .true.        !  start from rest (F) or from a restart file (T)
      !nn_euler    =    1      !  = 0 : start with forward time step if ln_rstart=T
      nn_rstctl   =    2 !  restart control ==> activated only if ln_rstart=T
      !!                          !    = 0 nn_date0 read in namelist ; nn_it000 : read in namelist
      !!                          !    = 1 nn_date0 read in namelist ; nn_it000 : check consistancy between namelist and restart
      !!                          !    = 2 nn_date0 read in restart  ; nn_it000 : check consistancy between namelist and restart
      cn_ocerst_in = "DINO_17856000_restart" !  suffix of ocean restart name (input)
      cn_ocerst_indir = "."         !  directory from which to read input ocean restarts
      cn_ocerst_out   = "restart"   !  suffix of ocean restart name (output)
      cn_ocerst_outdir = "."         !  directory in which to write output ocean restarts 

You can see in the nn_it000 line , that he put not the timestep of the restart, but the first timestep of the new simulation. I think what happens with the check is : subtract 1 to the nn_it000 given to get the restart value nn_date0. In our case, we had nn_it000==nn_date0, instead of nn_it000==nn_date0+1 and that’s why the check fails.