Changeset 12728


Ignore:
Timestamp:
2020-04-09T17:06:57+02:00 (7 months ago)
Author:
clem
Message:

add option for starting simulation with a restart (ice part)

Location:
NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/cfgs/SHARED/namelist_ice_ref

    r12720 r12728  
    190190!------------------------------------------------------------------------------ 
    191191   ln_iceini        = .true.          !  activate ice initialization (T) or not (F) 
    192    ln_iceini_file   = .false.         !  netcdf file provided for initialization (T) or not (F) 
     192   nn_iceini_file   =   0             !     0 = Initialise sea ice based on SSTs 
     193                                      !     1 = Initialise sea ice from single category netcdf file 
     194                                      !     2 = Initialise sea ice from multi category restart file 
    193195   rn_thres_sst     =   2.0           !  max temp. above Tfreeze with initial ice = (sst - tfreeze) 
    194196   rn_hti_ini_n     =   3.0           !  initial ice thickness       (m), North 
  • NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/src/ICE/iceistate.F90

    r12726 r12728  
    4141   !                             !! ** namelist (namini) ** 
    4242   LOGICAL, PUBLIC  ::   ln_iceini        !: Ice initialization or not 
    43    LOGICAL, PUBLIC  ::   ln_iceini_file   !: Ice initialization from 2D netcdf file 
     43   INTEGER, PUBLIC  ::   nn_iceini_file   !: Ice initialization: 
     44                                  !        0 = Initialise sea ice based on SSTs 
     45                                  !        1 = Initialise sea ice from single category netcdf file 
     46                                  !        2 = Initialise sea ice from multi category restart file 
    4447   REAL(wp) ::   rn_thres_sst 
    4548   REAL(wp) ::   rn_hti_ini_n, rn_hts_ini_n, rn_ati_ini_n, rn_smi_ini_n, rn_tmi_ini_n, rn_tsu_ini_n, rn_tms_ini_n 
     
    4851   REAL(wp) ::   rn_apd_ini_s, rn_hpd_ini_s, rn_hld_ini_s 
    4952   ! 
    50    !                              ! if ln_iceini_file = T 
     53   !                              ! if nn_iceini_file = 1 
    5154   INTEGER , PARAMETER ::   jpfldi = 10          ! maximum number of files to read 
    5255   INTEGER , PARAMETER ::   jp_hti = 1           ! index of ice thickness    (m) 
     
    170173      IF( ln_iceini ) THEN 
    171174         !                             !---------------! 
    172          IF( ln_iceini_file )THEN      ! Read a file   ! 
     175         IF( nn_iceini_file == 1 )THEN ! Read a file   ! 
    173176            !                          !---------------! 
    174177            WHERE( ff_t(:,:) >= 0._wp )   ;   zswitch(:,:) = 1._wp 
     
    483486      TYPE(FLD_N), DIMENSION(jpfldi) ::   slf_i                 ! array of namelist informations on the fields to read 
    484487      ! 
    485       NAMELIST/namini/ ln_iceini, ln_iceini_file, rn_thres_sst, & 
     488      NAMELIST/namini/ ln_iceini, nn_iceini_file, rn_thres_sst, & 
    486489         &             rn_hti_ini_n, rn_hti_ini_s, rn_hts_ini_n, rn_hts_ini_s, & 
    487490         &             rn_ati_ini_n, rn_ati_ini_s, rn_smi_ini_n, rn_smi_ini_s, & 
     
    510513         WRITE(numout,*) '   Namelist namini:' 
    511514         WRITE(numout,*) '      ice initialization (T) or not (F)                ln_iceini      = ', ln_iceini 
    512          WRITE(numout,*) '      ice initialization from a netcdf file            ln_iceini_file = ', ln_iceini_file 
     515         WRITE(numout,*) '      ice initialization from a netcdf file            nn_iceini_file = ', nn_iceini_file 
    513516         WRITE(numout,*) '      max ocean temp. above Tfreeze with initial ice   rn_thres_sst   = ', rn_thres_sst 
    514          IF( ln_iceini .AND. .NOT.ln_iceini_file ) THEN 
     517         IF( ln_iceini .AND. nn_iceini_file == 0 ) THEN 
    515518            WRITE(numout,*) '      initial snw thickness in the north-south         rn_hts_ini     = ', rn_hts_ini_n,rn_hts_ini_s  
    516519            WRITE(numout,*) '      initial ice thickness in the north-south         rn_hti_ini     = ', rn_hti_ini_n,rn_hti_ini_s 
     
    526529      ENDIF 
    527530      ! 
    528       IF( ln_iceini_file ) THEN                      ! Ice initialization using input file 
     531      IF( nn_iceini_file == 1 ) THEN                      ! Ice initialization using input file 
    529532         ! 
    530533         ! set si structure 
  • NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/src/ICE/icerst.F90

    r12725 r12728  
    283283         CALL ice_istate( nit000 ) 
    284284         ! 
    285          IF( .NOT.ln_iceini .OR. .NOT.ln_iceini_file ) & 
    286             &   CALL ctl_stop('STOP', 'ice_rst_read: you need ln_ice_ini=T and ln_iceini_file=T') 
     285         IF( .NOT.ln_iceini .OR. nn_iceini_file == 0 ) & 
     286            &   CALL ctl_stop('STOP', 'ice_rst_read: you need ln_ice_ini=T and nn_iceini_file=0') 
    287287         ! 
    288288      ENDIF 
  • NEMO/branches/2020/r4.0-HEAD_r12713_clem_dan_fixcpl/src/ICE/icestp.F90

    r12726 r12728  
    252252      ! 
    253253      !                                ! Initial sea-ice state 
    254       IF( .NOT. ln_rstart ) THEN              ! start from rest: sea-ice deduced from sst 
     254 
     255      IF ( ln_rstart .OR. nn_iceini_file == 2 ) THEN 
     256         CALL ice_rst_read                      ! start from a restart file 
     257      ELSE 
    255258         CALL ice_istate_init 
    256          CALL ice_istate( nit000 ) 
    257       ELSE                                    ! start from a restart file 
    258          CALL ice_rst_read 
     259         CALL ice_istate( nit000 )              ! start from rest: sea-ice deduced from sst 
    259260      ENDIF 
    260261      CALL ice_var_glo2eqv 
Note: See TracChangeset for help on using the changeset viewer.