Changes between Initial Version and Version 1 of Ticket #667


Ignore:
Timestamp:
06/23/15 22:42:41 (9 years ago)
Author:
arango
Comment:

Yes, thank you. I missed to consider this possibility when I updated the restart procedure for wetting and drying. It is valid to restart the model from a history NetCDF record instead of a restart NetCDF record. When updated these codes months ago I was thinking about perfect restart (PERFECT_RESTART) and this can be only done with the restart NetCDF file.

Many thanks to Takashi Nakamura for bringing this to our attention.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #667

    • Property ResolutionFixed
    • Property Status newclosed
    • Property Summary modify def_his for wetdry_mask_psimodify def_his.F/wrt_his.F for writing wetdry_mask_psi
  • Ticket #667 – Description

    initial v1  
    1 need to modify def_his to allow wetdry_psi_mask to be read during a restart
    2 and written out.  this is discussed on
    3 https://www.myroms.org/forum/viewtopic.php?f=19&t=3812
    4 but here are some detail for modifications to def_his.F
     1Need to modify '''def_his.F''' to allow '''wetdry_psi_mask''' to be read during a restart and written out to the history NetCDF file.  This is discussed on the
     2[https://www.myroms.org/forum/viewtopic.php?f=19&t=3812 forum] but here are some details for modifications to '''def_his.F''':
    53
    6 1) In my solution, firstly add the declaration statement to line 55 in def_his.F:
    7 Code:
     4 * In my solution, firstly add the declaration statement to line 55 in '''def_his.F''':
     5
     6{{{
    87      integer :: p2dgrd(3)
     8}}}
    99
    10 Then insert the following codes to line 301:
    1110
    12 Code:
     11 * Then insert the following codes to line 301:
    1312
     13{{{
    1414!
    1515!  Define dimension vectors for staggered type variables at PSI-points.
     
    1919        p2dgrd(3)=DimIDs(12)
    2020
    21 Then, insert the following codes to line 458 ( inside #ifdef WET_DRY ~ #endif statement):
     21}}}
    2222
    23 Code:
     23 * Then, insert the following codes to line 458 ( inside #ifdef '''WET_DRY''' ... #endif statement):
    2424
     25{{{
    2526!
    2627!  Define wet/dry mask on PSI-points.
     
    3637        Aval(5)=REAL(Iinfo(1,idPwet,ng),r8)
    3738        status=def_var(ng, iNLM, HIS(ng)%ncid, HIS(ng)%Vid(idPwet),     &
    38      &                 NF_FOUT, nvd3, p2dgrd, Aval, Vinfo, ncname,     &
     39     &                 NF_FOUT, nvd3, p2dgrd, Aval, Vinfo, ncname,      &
    3940     &                 SetFillVal = .FALSE.)
    4041        IF (exit_flag.ne.NoError) RETURN
    4142
     43}}}
    4244
     45 * Similarly, insert the following codes to line 154 ( inside #ifdef '''WET_DRY''' ... #endif statement) in '''wrt_his.F''':
    4346
    44 Similarly, insert the following codes to line 154 ( inside #ifdef WET_DRY ~ #endif statement) in wrt_his.F:
    45 
    46 Code:
    47 
     47{{{
    4848!
    4949!  Write out wet/dry mask at PSI-points.
     
    6767        RETURN
    6868      END IF
     69}}}
    6970
     71 * Also need to add in '''def_his.F''' around line 2383:
    7072
    71 also need to add in def_his.F
     73{{{
     74          ELSE IF (TRIM(var_name(i)).eq.TRIM(Vname(1,idPwet))) THEN
     75            got_var(idPwet)=.TRUE.
     76            HIS(ng)%Vid(idPwet)=var_id(i)
     77}}}
    7278
    73 2) near lines 3572
    74 [#if defined WET_DRY] (this ifdef is already there)
     79 * and near line 2786
    7580
    76  ELSE IF (TRIM(var_name(i)).eq.TRIM(Vname(1,idPwet))) THEN
    77  got_var(idPwet)=.TRUE.
    78  HIS(ng)%Vid(idPwet)=var_id(i)
    79 
    80 
    81 3) near line 4184
    82 [#if defined WET_DRY] (this ifdef is already there)
    83 
    84  IF (.not.got_var(idPwet)) THEN
    85  IF (Master) WRITE (stdout,60) TRIM(Vname(1,idPwet)), &
    86  & TRIM(ncname)
    87  exit_flag=3
    88  RETURN
    89  END IF
    90 
     81{{{
     82        IF (.not.got_var(idPwet)) THEN
     83          IF (Master) WRITE (stdout,60) TRIM(Vname(1,idPwet)),          &
     84     &                                  TRIM(ncname)
     85          exit_flag=3
     86          RETURN
     87        END IF
     88}}}