Ignore:
Timestamp:
2019-11-27T18:32:01+01:00 (8 months ago)
Author:
mathiot
Message:

ENHANCE-03_closea: rm useless variable, rename some variable and add comments

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/ENHANCE-03_domcfg/src/domclo.F90

    r11658 r11991  
    108108      CALL dom_ngb(rn_lon_opnsea, rn_lat_opnsea, jiseed, jjseed, zdistseed, 'T') 
    109109 
    110       !! 1.2 fill select cell to -1 
     110      !! 1.2 fill connected cell to -1 
    111111      CALL fill_pool( jiseed, jjseed, msk_opnsea, -1._wp ) 
    112112 
     
    134134      !! 1.4 Define closed sea mask (all of them, ie defined in the namelist or not) 
    135135      !! needed to remove the undefined closed seas at the end 
    136       msk_closea(:,:) = ( ssmask(:,:) - msk_opnsea(:,:) ) * 99._wp 
     136      msk_csundef(:,:) = ( ssmask(:,:) - msk_opnsea(:,:) ) * 99._wp 
    137137 
    138138      !!---------------------------------------------------------------------- 
     
    143143      jglo = 1 ; jrnf = 1 ; jemp = 1 
    144144      !! mask used to group lake by net evap/precip distribution technics 
    145       msk_glo(:,:) = msk_closea(:,:) 
    146       msk_rnf(:,:) = msk_closea(:,:) 
    147       msk_emp(:,:) = msk_closea(:,:) 
    148  
    149       !! mask used to group multiple lake with the same river mouth (great lake for example) 
    150       msk_gloid(:,:) = 0.0_wp 
    151       msk_rnfid(:,:) = 0.0_wp 
    152       msk_empid(:,:) = 0.0_wp 
     145      msk_csglo(:,:) = msk_csundef(:,:) 
     146      msk_csrnf(:,:) = msk_csundef(:,:) 
     147      msk_csemp(:,:) = msk_csundef(:,:) 
     148 
     149      !! mask used to define group of lake sharing the same river mouth 
     150      msk_csgrpglo(:,:) = 0.0_wp 
     151      msk_csgrprnf(:,:) = 0.0_wp 
     152      msk_csgrpemp(:,:) = 0.0_wp 
    153153 
    154154      IF (lwp) WRITE(numout,*)'closed seas: ' 
     
    164164         CASE('glo') 
    165165            jsch = jglo 
    166             zmsksrc(:,:) = msk_glo(:,:) 
    167             zmsktrg(:,:) = msk_gloid(:,:) 
     166            zmsksrc(:,:) = msk_csglo(:,:) 
     167            zmsktrg(:,:) = msk_csgrpglo(:,:) 
    168168         CASE('rnf')  
    169169            jsch = jrnf 
    170             zmsksrc(:,:) = msk_rnf(:,:) 
    171             zmsktrg(:,:) = msk_rnfid(:,:) 
     170            zmsksrc(:,:) = msk_csrnf(:,:) 
     171            zmsktrg(:,:) = msk_csgrprnf(:,:) 
    172172         CASE('emp') 
    173173            jsch = jemp  
    174             zmsksrc(:,:) = msk_emp(:,:) 
    175             zmsktrg(:,:) = msk_empid(:,:) 
     174            zmsksrc(:,:) = msk_csemp(:,:) 
     175            zmsktrg(:,:) = msk_csgrpemp(:,:) 
    176176         CASE DEFAULT 
    177177            CALL ctl_stop( 'STOP', 'domclo: ',TRIM(csch),' is an unknown target type for lake (should be glo, emp, rnf)' ) 
     
    186186 
    187187         !! sanity check on the msk value (closea mask should be 99 otherwise, lake already processed) 
    188          !! check if some lake are not connected 
     188         !! check if seed on land or lake already processed 
    189189         zchk = 0._wp 
    190          IF (mi0(jiseed) == mi1(jiseed) .AND. mj0(jjseed) == mj1(jjseed)) zchk = msk_closea(mi0(jiseed),mj0(jjseed)) 
     190         IF (mi0(jiseed) == mi1(jiseed) .AND. mj0(jjseed) == mj1(jjseed)) zchk = msk_csundef(mi0(jiseed),mj0(jjseed)) 
    191191         CALL mpp_max('domclo',zchk) 
    192192          
     
    215215 
    216216            !! fill close sea mask with counter value 
     217            !! and update undefined closed sea mask 
    217218            CALL fill_pool( jiseed, jjseed, zmsksrc, REAL(jsch  ,8)) 
    218219            WHERE (zmsksrc(:,:) == REAL(jsch,8)) 
    219                msk_closea = 0._wp 
     220               msk_csundef = 0._wp 
    220221               zmsktrg    = sn_lake(jcs)%idtrg 
    221222            END WHERE 
     
    224225            IF (cloc /= 'global') THEN 
    225226 
    226                !! set a minimum value for radius of the river influence 
     227               !! set value for radius of the river influence 
    227228               zradtrg = 0._wp 
    228229               IF (mi0(jiseed) == mi1(jiseed) .AND. mj0(jjseed) == mj1(jjseed)) THEN 
     
    290291            CASE ('glo') 
    291292               jglo = jglo + 1 
    292                msk_glo(:,:)   = zmsksrc(:,:) 
    293                msk_gloid(:,:) = zmsktrg(:,:) 
     293               msk_csglo(:,:)    = zmsksrc(:,:) 
     294               msk_csgrpglo(:,:) = zmsktrg(:,:) 
    294295               IF (lwp) WRITE(numout,*)'        net evap/precip will be spread globally (glo)' 
    295296            CASE ('rnf') 
    296297               jrnf = jrnf + 1 
    297                msk_rnf(:,:)   = zmsksrc(:,:) 
    298                msk_rnfid(:,:) = zmsktrg(:,:) 
     298               msk_csrnf(:,:)    = zmsksrc(:,:) 
     299               msk_csgrprnf(:,:) = zmsktrg(:,:) 
    299300               IF (lwp) WRITE(numout,*)'        net precip will be spread locally and net evap globally (rnf)' 
    300301            CASE ('emp') 
    301302               jemp = jemp + 1 
    302                msk_emp(:,:)   = zmsksrc(:,:) 
    303                msk_empid(:,:) = zmsktrg(:,:) 
     303               msk_csemp(:,:)    = zmsksrc(:,:) 
     304               msk_csgrpemp(:,:) = zmsktrg(:,:) 
    304305               IF (lwp) WRITE(numout,*)'        net evap/precip will be spread locally (emp)' 
    305306            END SELECT 
     
    314315 
    315316      !! mask all the cells not defined as closed sea 
    316       WHERE ( msk_glo(:,:) == 99._wp )  msk_glo = 0._wp 
    317       WHERE ( msk_rnf(:,:) == 99._wp )  msk_rnf = 0._wp 
    318       WHERE ( msk_emp(:,:) == 99._wp )  msk_emp = 0._wp 
     317      WHERE ( msk_csglo(:,:) == 99._wp )  msk_csglo = 0._wp 
     318      WHERE ( msk_csrnf(:,:) == 99._wp )  msk_csrnf = 0._wp 
     319      WHERE ( msk_csemp(:,:) == 99._wp )  msk_csemp = 0._wp 
    319320 
    320321      !!  non defined closed sea 
    321       WHERE ( msk_closea(:,:) > 0._wp ) msk_closea = 1._wp 
     322      WHERE ( msk_csundef(:,:) > 0._wp ) msk_csundef = 1._wp 
    322323 
    323324   END SUBROUTINE dom_clo 
Note: See TracChangeset for help on using the changeset viewer.