New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 5067 for branches/2015/dev_r5044_CNRS_LIM3CLEAN/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90 – NEMO

Ignore:
Timestamp:
2015-02-06T19:12:57+01:00 (9 years ago)
Author:
clem
Message:

LIM3 change all namelist names to fit with NEMO convention

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5044_CNRS_LIM3CLEAN/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90

    r5064 r5067  
    191191            !  (thick, newly ridged ice). 
    192192 
    193             closing_net(ji,jj) = Cs * 0.5 * ( Delta_i(ji,jj) - ABS( divu_i(ji,jj) ) ) - MIN( divu_i(ji,jj), 0._wp ) 
     193            closing_net(ji,jj) = rn_cs * 0.5 * ( Delta_i(ji,jj) - ABS( divu_i(ji,jj) ) ) - MIN( divu_i(ji,jj), 0._wp ) 
    194194 
    195195            ! 2.2 divu_adv 
     
    488488         END DO !jl 
    489489 
    490          zzc = Cf * Cp     ! where Cp = (g/2)*(rhow-rhoi)*(rhoi/rhow) and Cf accounts for frictional dissipation 
     490         zzc = rn_pe_rdg * Cp     ! where Cp = (g/2)*(rhow-rhoi)*(rhoi/rhow) and rn_pe_rdg accounts for frictional dissipation 
    491491         strength(:,:) = zzc * strength(:,:) / aksum(:,:) 
    492492 
     
    498498      ELSE                      ! kstrngth ne 1:  Hibler (1979) form 
    499499         ! 
    500          strength(:,:) = Pstar * vt_i(:,:) * EXP( - C_rhg * ( 1._wp - at_i(:,:) )  ) 
     500         strength(:,:) = rn_pstar * vt_i(:,:) * EXP( - rn_crhg * ( 1._wp - at_i(:,:) )  ) 
    501501         ! 
    502502         ksmooth = 1 
     
    510510      ! CAN BE REMOVED 
    511511      ! 
    512       IF ( brinstren_swi == 1 ) THEN 
     512      IF ( nn_icestr_bvf == 1 ) THEN 
    513513 
    514514         DO jj = 1, jpj 
     
    542542                  ! present 
    543543                  zworka(ji,jj) = 4.0 * strength(ji,jj)              & 
    544                      &          + strength(ji-1,jj) * tms(ji-1,jj) &   
    545                      &          + strength(ji+1,jj) * tms(ji+1,jj) &   
    546                      &          + strength(ji,jj-1) * tms(ji,jj-1) &   
    547                      &          + strength(ji,jj+1) * tms(ji,jj+1)     
    548  
    549                   zw1 = 4.0 + tms(ji-1,jj) + tms(ji+1,jj) + tms(ji,jj-1) + tms(ji,jj+1) 
     544                     &          + strength(ji-1,jj) * tmask(ji-1,jj,1) &   
     545                     &          + strength(ji+1,jj) * tmask(ji+1,jj,1) &   
     546                     &          + strength(ji,jj-1) * tmask(ji,jj-1,1) &   
     547                     &          + strength(ji,jj+1) * tmask(ji,jj+1,1)     
     548 
     549                  zw1 = 4.0 + tmask(ji-1,jj,1) + tmask(ji+1,jj,1) + tmask(ji,jj-1,1) + tmask(ji,jj+1,1) 
    550550                  zworka(ji,jj) = zworka(ji,jj) / zw1 
    551551               ELSE 
     
    619619      CALL wrk_alloc( jpi,jpj,jpl+2, Gsum, kkstart = -1 ) 
    620620 
    621       Gstari     = 1.0/Gstar     
    622       astari     = 1.0/astar     
     621      Gstari     = 1.0/rn_gstar     
     622      astari     = 1.0/rn_astar     
    623623      aksum(:,:)    = 0.0 
    624624      athorn(:,:,:) = 0.0 
     
    686686      !----------------------------------------------------------------- 
    687687 
    688       IF( partfun_swi == 0 ) THEN       !--- Linear formulation (Thorndike et al., 1975) 
     688      IF( nn_partfun == 0 ) THEN       !--- Linear formulation (Thorndike et al., 1975) 
    689689         DO jl = 0, jpl     
    690690            DO jj = 1, jpj  
    691691               DO ji = 1, jpi 
    692                   IF( Gsum(ji,jj,jl) < Gstar) THEN 
     692                  IF( Gsum(ji,jj,jl) < rn_gstar) THEN 
    693693                     athorn(ji,jj,jl) = Gstari * (Gsum(ji,jj,jl)-Gsum(ji,jj,jl-1)) * & 
    694694                        (2.0 - (Gsum(ji,jj,jl-1)+Gsum(ji,jj,jl))*Gstari) 
    695                   ELSEIF (Gsum(ji,jj,jl-1) < Gstar) THEN 
    696                      athorn(ji,jj,jl) = Gstari * (Gstar-Gsum(ji,jj,jl-1)) *  & 
    697                         (2.0 - (Gsum(ji,jj,jl-1)+Gstar)*Gstari) 
     695                  ELSEIF (Gsum(ji,jj,jl-1) < rn_gstar) THEN 
     696                     athorn(ji,jj,jl) = Gstari * (rn_gstar-Gsum(ji,jj,jl-1)) *  & 
     697                        (2.0 - (Gsum(ji,jj,jl-1)+rn_gstar)*Gstari) 
    698698                  ELSE 
    699699                     athorn(ji,jj,jl) = 0.0 
     
    714714         END DO 
    715715         ! 
    716       ENDIF ! partfun_swi 
    717  
    718       IF( raft_swi == 1 ) THEN      ! Ridging and rafting ice participation functions 
     716      ENDIF ! nn_partfun 
     717 
     718      IF( nn_rafting == 1 ) THEN      ! Ridging and rafting ice participation functions 
    719719         ! 
    720720         DO jl = 1, jpl 
     
    723723                  IF ( athorn(ji,jj,jl) .GT. 0._wp ) THEN 
    724724!!gm  TANH( -X ) = - TANH( X )  so can be computed only 1 time.... 
    725                      aridge(ji,jj,jl) = ( TANH (  Craft * ( ht_i(ji,jj,jl) - hparmeter ) ) + 1.0 ) * 0.5 * athorn(ji,jj,jl) 
    726                      araft (ji,jj,jl) = ( TANH ( -Craft * ( ht_i(ji,jj,jl) - hparmeter ) ) + 1.0 ) * 0.5 * athorn(ji,jj,jl) 
     725                     aridge(ji,jj,jl) = ( TANH (  rn_craft * ( ht_i(ji,jj,jl) - rn_hraft ) ) + 1.0 ) * 0.5 * athorn(ji,jj,jl) 
     726                     araft (ji,jj,jl) = ( TANH ( -rn_craft * ( ht_i(ji,jj,jl) - rn_hraft ) ) + 1.0 ) * 0.5 * athorn(ji,jj,jl) 
    727727                     IF ( araft(ji,jj,jl) < epsi06 )   araft(ji,jj,jl)  = 0._wp 
    728728                     aridge(ji,jj,jl) = MAX( athorn(ji,jj,jl) - araft(ji,jj,jl), 0.0 ) 
     
    732732         END DO ! jl 
    733733 
    734       ELSE  ! raft_swi = 0 
     734      ELSE  ! nn_rafting = 0 
    735735         ! 
    736736         DO jl = 1, jpl 
     
    740740      ENDIF 
    741741 
    742       IF ( raft_swi == 1 ) THEN 
     742      IF ( nn_rafting == 1 ) THEN 
    743743 
    744744         IF( MAXVAL(aridge + araft - athorn(:,:,1:jpl)) .GT. epsi10 ) THEN 
     
    794794               IF (a_i(ji,jj,jl) .GT. epsi10 .AND. athorn(ji,jj,jl) .GT. 0.0 ) THEN 
    795795                  hi = v_i(ji,jj,jl) / a_i(ji,jj,jl) 
    796                   hrmean          = MAX(SQRT(Hstar*hi), hi*krdgmin) 
     796                  hrmean          = MAX(SQRT(rn_hstar*hi), hi*krdgmin) 
    797797                  hrmin(ji,jj,jl) = MIN(2.0*hi, 0.5*(hrmean + hi)) 
    798798                  hrmax(ji,jj,jl) = 2.0*hrmean - hrmin(ji,jj,jl) 
     
    10301030            !-------------------------------------------------------------------------- 
    10311031            vrdg1(ji,jj) = vicen_init(ji,jj,jl1) * afrac(ji,jj) 
    1032             vrdg2(ji,jj) = vrdg1(ji,jj) * ( 1. + ridge_por ) 
    1033             vsw  (ji,jj) = vrdg1(ji,jj) * ridge_por 
     1032            vrdg2(ji,jj) = vrdg1(ji,jj) * ( 1. + rn_por_rdg ) 
     1033            vsw  (ji,jj) = vrdg1(ji,jj) * rn_por_rdg 
    10341034 
    10351035            vsrdg(ji,jj) = vsnwn_init(ji,jj,jl1) * afrac(ji,jj) 
     
    10611061            srdg2(ji,jj) = srdg1(ji,jj) + smsw(ji,jj)                     ! salt content of new ridge 
    10621062 
    1063             !srdg2(ji,jj) = MIN( s_i_max * vrdg2(ji,jj) , zsrdg2 )         ! impose a maximum salinity 
     1063            !srdg2(ji,jj) = MIN( rn_simax * vrdg2(ji,jj) , zsrdg2 )         ! impose a maximum salinity 
    10641064             
    10651065            sfx_dyn(ji,jj) = sfx_dyn(ji,jj) - smsw(ji,jj) * rhoic * r1_rdtice 
     
    10901090            !           ij looping 1-icells 
    10911091 
    1092             msnow_mlt(ji,jj) = msnow_mlt(ji,jj) + rhosn*vsrdg(ji,jj)*(1.0-fsnowrdg)   &   ! rafting included 
    1093                &                                + rhosn*vsrft(ji,jj)*(1.0-fsnowrft) 
     1092            msnow_mlt(ji,jj) = msnow_mlt(ji,jj) + rhosn*vsrdg(ji,jj)*(1.0-rn_fsnowrdg)   &   ! rafting included 
     1093               &                                + rhosn*vsrft(ji,jj)*(1.0-rn_fsnowrft) 
    10941094 
    10951095            ! in J/m2 (same as e_s) 
    1096             esnow_mlt(ji,jj) = esnow_mlt(ji,jj) - esrdg(ji,jj)*(1.0-fsnowrdg)         &   !rafting included 
    1097                &                                - esrft(ji,jj)*(1.0-fsnowrft)           
     1096            esnow_mlt(ji,jj) = esnow_mlt(ji,jj) - esrdg(ji,jj)*(1.0-rn_fsnowrdg)         &   !rafting included 
     1097               &                                - esrft(ji,jj)*(1.0-rn_fsnowrft)           
    10981098 
    10991099            !----------------------------------------------------------------- 
     
    12061206               a_i  (ji,jj  ,jl2) = a_i  (ji,jj  ,jl2) + ardg2 (ji,jj) * farea 
    12071207               v_i  (ji,jj  ,jl2) = v_i  (ji,jj  ,jl2) + vrdg2 (ji,jj) * fvol(ji,jj) 
    1208                v_s  (ji,jj  ,jl2) = v_s  (ji,jj  ,jl2) + vsrdg (ji,jj) * fvol(ji,jj) * fsnowrdg 
    1209                e_s  (ji,jj,1,jl2) = e_s  (ji,jj,1,jl2) + esrdg (ji,jj) * fvol(ji,jj) * fsnowrdg 
     1208               v_s  (ji,jj  ,jl2) = v_s  (ji,jj  ,jl2) + vsrdg (ji,jj) * fvol(ji,jj) * rn_fsnowrdg 
     1209               e_s  (ji,jj,1,jl2) = e_s  (ji,jj,1,jl2) + esrdg (ji,jj) * fvol(ji,jj) * rn_fsnowrdg 
    12101210               smv_i(ji,jj  ,jl2) = smv_i(ji,jj  ,jl2) + srdg2 (ji,jj) * fvol(ji,jj) 
    12111211               oa_i (ji,jj  ,jl2) = oa_i (ji,jj  ,jl2) + oirdg2(ji,jj) * farea 
     
    12381238                  a_i  (ji,jj  ,jl2) = a_i  (ji,jj  ,jl2) + arft2 (ji,jj) 
    12391239                  v_i  (ji,jj  ,jl2) = v_i  (ji,jj  ,jl2) + virft (ji,jj) 
    1240                   v_s  (ji,jj  ,jl2) = v_s  (ji,jj  ,jl2) + vsrft (ji,jj) * fsnowrft 
    1241                   e_s  (ji,jj,1,jl2) = e_s  (ji,jj,1,jl2) + esrft (ji,jj) * fsnowrft 
     1240                  v_s  (ji,jj  ,jl2) = v_s  (ji,jj  ,jl2) + vsrft (ji,jj) * rn_fsnowrft 
     1241                  e_s  (ji,jj,1,jl2) = e_s  (ji,jj,1,jl2) + esrft (ji,jj) * rn_fsnowrft 
    12421242                  smv_i(ji,jj  ,jl2) = smv_i(ji,jj  ,jl2) + smrft (ji,jj)     
    12431243                  oa_i (ji,jj  ,jl2) = oa_i (ji,jj  ,jl2) + oirft2(ji,jj)     
     
    13311331      !!------------------------------------------------------------------- 
    13321332      INTEGER :: ios                 ! Local integer output status for namelist read 
    1333       NAMELIST/namiceitdme/ ridge_scheme_swi, Cs, Cf, fsnowrdg, fsnowrft,              &  
    1334         &                   Gstar, astar, Hstar, raft_swi, hparmeter, Craft, ridge_por, & 
    1335         &                   partfun_swi, brinstren_swi 
     1333      NAMELIST/namiceitdme/ rn_cs, rn_pe_rdg, rn_fsnowrdg, rn_fsnowrft,              &  
     1334        &                   rn_gstar, rn_astar, rn_hstar, nn_rafting, rn_hraft, rn_craft, rn_por_rdg, & 
     1335        &                   nn_partfun 
    13361336      !!------------------------------------------------------------------- 
    13371337      ! 
     
    13491349         WRITE(numout,*)' lim_itd_me_init : ice parameters for mechanical ice redistribution ' 
    13501350         WRITE(numout,*)' ~~~~~~~~~~~~~~~' 
    1351          WRITE(numout,*)'   Switch choosing the ice redistribution scheme           ridge_scheme_swi', ridge_scheme_swi  
    1352          WRITE(numout,*)'   Fraction of shear energy contributing to ridging        Cs              ', Cs  
    1353          WRITE(numout,*)'   Ratio of ridging work to PotEner change in ridging      Cf              ', Cf  
    1354          WRITE(numout,*)'   Fraction of snow volume conserved during ridging        fsnowrdg        ', fsnowrdg  
    1355          WRITE(numout,*)'   Fraction of snow volume conserved during ridging        fsnowrft        ', fsnowrft  
    1356          WRITE(numout,*)'   Fraction of total ice coverage contributing to ridging  Gstar           ', Gstar 
    1357          WRITE(numout,*)'   Equivalent to G* for an exponential part function       astar           ', astar 
    1358          WRITE(numout,*)'   Quantity playing a role in max ridged ice thickness     Hstar           ', Hstar 
    1359          WRITE(numout,*)'   Rafting of ice sheets or not                            raft_swi        ', raft_swi 
    1360          WRITE(numout,*)'   Parmeter thickness (threshold between ridge-raft)       hparmeter       ', hparmeter 
    1361          WRITE(numout,*)'   Rafting hyperbolic tangent coefficient                  Craft           ', Craft   
    1362          WRITE(numout,*)'   Initial porosity of ridges                              ridge_por       ', ridge_por 
    1363          WRITE(numout,*)'   Switch for part. function (0) linear (1) exponential    partfun_swi     ', partfun_swi 
    1364          WRITE(numout,*)'   Switch for including brine volume in ice strength comp. brinstren_swi   ', brinstren_swi 
     1351         WRITE(numout,*)'   Fraction of shear energy contributing to ridging        rn_cs              ', rn_cs  
     1352         WRITE(numout,*)'   Ratio of ridging work to PotEner change in ridging      rn_pe_rdg              ', rn_pe_rdg  
     1353         WRITE(numout,*)'   Fraction of snow volume conserved during ridging        rn_fsnowrdg        ', rn_fsnowrdg  
     1354         WRITE(numout,*)'   Fraction of snow volume conserved during ridging        rn_fsnowrft        ', rn_fsnowrft  
     1355         WRITE(numout,*)'   Fraction of total ice coverage contributing to ridging  rn_gstar           ', rn_gstar 
     1356         WRITE(numout,*)'   Equivalent to G* for an exponential part function       rn_astar           ', rn_astar 
     1357         WRITE(numout,*)'   Quantity playing a role in max ridged ice thickness     rn_hstar           ', rn_hstar 
     1358         WRITE(numout,*)'   Rafting of ice sheets or not                            nn_rafting        ', nn_rafting 
     1359         WRITE(numout,*)'   Parmeter thickness (threshold between ridge-raft)       rn_hraft       ', rn_hraft 
     1360         WRITE(numout,*)'   Rafting hyperbolic tangent coefficient                  rn_craft           ', rn_craft   
     1361         WRITE(numout,*)'   Initial porosity of ridges                              rn_por_rdg       ', rn_por_rdg 
     1362         WRITE(numout,*)'   Switch for part. function (0) linear (1) exponential    nn_partfun     ', nn_partfun 
    13651363      ENDIF 
    13661364      ! 
Note: See TracChangeset for help on using the changeset viewer.