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 8409 – NEMO

Changeset 8409


Ignore:
Timestamp:
2017-08-07T17:29:21+02:00 (7 years ago)
Author:
clem
Message:

change calls in icestp.F90 for advection

Location:
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3
Files:
6 added
6 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/ice.F90

    r8407 r8409  
    7575   !! state variables are called                                          | 
    7676   !! - ice_rhg : ice dynamics                                            | 
    77    !! - lim_trp : ice transport                                           | 
    78    !! - lim_itd_me : mechanical redistribution (ridging and rafting)      | 
     77   !! - ice_adv : ice advection                                           | 
     78   !! - ice_rdgrft : ice ridging and rafting                              | 
    7979   !! - lim_thd : ice halo-thermodynamics                                 | 
    8080   !! - lim_itd_th : thermodynamic changes in ice thickness distribution  | 
     
    199199 
    200200   !                                     !!** ice-dynamics namelist (namicedyn) ** 
    201                                           ! -- limtrp & limadv -- ! 
     201                                          ! -- iceadv -- ! 
    202202   INTEGER , PUBLIC ::   nn_limadv        !: choose the advection scheme (-1=Prather ; 0=Ultimate-Macho) 
    203203   INTEGER , PUBLIC ::   nn_limadv_ord    !: choose the order of the advection scheme (if Ultimate-Macho)    
    204                                           ! -- limitd_me -- ! 
     204                                          ! -- icerdgrft -- ! 
    205205   INTEGER , PUBLIC ::   nn_icestr        !: ice strength parameterization (0=Hibler79 1=Rothrock75) 
    206206   REAL(wp), PUBLIC ::   rn_pe_rdg        !: ridging work divided by pot. energy change in ridging, nn_icestr = 1 
     
    208208   REAL(wp), PUBLIC ::   rn_crhg          !: determines changes in ice strength 
    209209   LOGICAL , PUBLIC ::   ln_icestr_bvf    !: use brine volume to diminish ice strength 
    210                                           ! -- limdyn & icerhg -- ! 
     210                                          ! -- icerhg -- ! 
    211211   REAL(wp), PUBLIC ::   rn_ishlat        !: lateral boundary condition for sea-ice 
    212212   REAL(wp), PUBLIC ::   rn_cio           !: drag coefficient for oceanic stress 
     
    366366 
    367367   ! heat flux associated with ice-ocean mass exchange 
    368    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   hfx_thd     !: ice-ocean heat flux from thermo processes (limthd_dh)  [W.m-2] 
    369    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   hfx_dyn     !: ice-ocean heat flux from mecanical processes (limitd_me)  [W.m-2] 
     368   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   hfx_thd     !: ice-ocean heat flux from thermo processes (limthd_dh) [W.m-2] 
     369   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   hfx_dyn     !: ice-ocean heat flux from ridging                      [W.m-2] 
    370370   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   hfx_res     !: residual heat flux due to correction of ice thickness [W.m-2] 
    371371 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerhg.F90

    r8407 r8409  
    137137         WRITE(numout,*)'    choose the advection scheme (-1=Prather, 0=Ulimate-Macho)   nn_limadv     = ', nn_limadv  
    138138         WRITE(numout,*)'    choose the order of the scheme (if ultimate)                nn_limadv_ord = ', nn_limadv_ord   
    139          ! limitd_me 
     139         ! icerdgrft 
    140140         WRITE(numout,*)'    ice strength parameterization (0=Hibler 1=Rothrock)         nn_icestr     = ', nn_icestr  
    141141         WRITE(numout,*)'    Ratio of ridging work to PotEner change in ridging          rn_pe_rdg     = ', rn_pe_rdg  
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerhg_evp.F90

    r8407 r8409  
    2424   USE sbc_ice , ONLY : utau_ice, vtau_ice, snwice_mass, snwice_mass_b 
    2525   USE ice            ! ice variables 
    26    USE limitd_me      ! ice strength 
     26   USE icerdgrft      ! ice strength 
    2727   ! 
    2828   USE lbclnk         ! Lateral Boundary Condition / MPP link 
     
    229229 
    230230      ! Ice strength 
    231       CALL lim_itd_me_icestrength( nn_icestr ) 
     231      CALL ice_rdgrft_icestrength( nn_icestr ) 
    232232 
    233233      ! scale factors 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icestp.F90

    r8407 r8409  
    3232   USE phycst          ! Define parameters for the routines 
    3333   USE eosbn2          ! equation of state 
    34    USE icerhg          ! Ice dynamics 
    35    USE limtrp          ! Ice transport 
     34   USE icerhg          ! Ice rheology 
     35   USE iceadv          ! Ice advection 
    3636   USE limthd          ! Ice thermodynamics 
    37    USE limitd_me       ! Mechanics on ice thickness distribution 
     37   USE icerdgrft       ! Ice ridging/rafting 
    3838   USE limsbc          ! sea surface boundary condition 
    3939   USE limdiahsb       ! Ice budget diagnostics 
    4040   USE limwri          ! Ice outputs 
    4141   USE limrst          ! Ice restarts 
    42    USE limupdate1      ! update of global variables 
    43    USE limupdate2      ! update of global variables 
     42   USE icecor1         ! Ice corrections after dynamics 
     43   USE icecor2         ! Ice corrections after thermo 
    4444   USE limvar          ! Ice variables switch 
    4545   USE limctl          ! 
     
    153153         ! --- zap this if no ice dynamics --- ! 
    154154         IF( .NOT. lk_c1d .AND. ln_limdyn ) THEN 
    155             ! 
    156             IF( nn_limdyn /= 0 ) THEN                          ! -- Ice dynamics 
    157                                       CALL ice_rhg( kt )       !     rheology   
    158             ELSE 
    159                u_ice(:,:) = rn_uice * umask(:,:,1)             !     or prescribed velocity 
    160                v_ice(:,:) = rn_vice * vmask(:,:,1) 
    161                !!CALL RANDOM_NUMBER(u_ice(:,:)) 
    162                !!CALL RANDOM_NUMBER(v_ice(:,:)) 
    163             ENDIF 
    164                                       CALL lim_trp( kt )       ! -- Ice transport (Advection/diffusion) 
    165             IF( nn_limdyn == 2 .AND. nn_monocat /= 2 )  &      ! -- Mechanical redistribution (ridging/rafting) 
    166                &                      CALL lim_itd_me          
    167             IF( nn_limdyn == 2 )      CALL lim_update1( kt )   ! -- Corrections 
     155                                      CALL ice_rhg( kt )       ! -- rheology   
     156                                      CALL ice_adv( kt )       ! -- advection 
     157            IF( nn_limdyn == 2 .AND. nn_monocat /= 2 )  &      ! -- ridging/rafting 
     158               &                      CALL ice_rdgrft          
     159            IF( nn_limdyn == 2 )      CALL ice_cor1( kt )      ! -- Corrections 
    168160            ! 
    169161         ENDIF 
     
    204196         ! END MV MP 2016 
    205197 
    206          IF( ln_limthd )              CALL lim_update2( kt )    ! -- Corrections 
     198         IF( ln_limthd )              CALL ice_cor2( kt )       ! -- Corrections 
    207199         ! --- 
    208200# if defined key_agrif 
     
    270262      ierr = ierr + sbc_ice_alloc    ()      ! surface forcing  
    271263      ierr = ierr + thd_ice_alloc    ()      ! thermodynamics 
    272       IF( ln_limdyn )   ierr = ierr + lim_itd_me_alloc ()      ! ice thickness distribution - mechanics 
     264      IF( ln_limdyn )   ierr = ierr + ice_rdgrft_alloc ()      ! ridging/rafting 
    273265      ! 
    274266      IF( lk_mpp    )   CALL mpp_sum( ierr ) 
     
    287279      ! END MV MP 2016 
    288280 
    289       IF( ln_limdyn )   CALL lim_itd_me_init             ! ice thickness distribution initialization for mecanical deformation 
     281      IF( ln_limdyn )   CALL ice_rdgrft_init             ! ice thickness distribution initialization for ridging/rafting 
    290282      !                                ! Initial sea-ice state 
    291283      IF( .NOT. ln_rstart ) THEN              ! start from rest: sea-ice deduced from sst 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limcons.F90

    r8355 r8409  
    134134            IF ( ABS( zsmv ) > zs_sill ) WRITE(numout,*) 'violation saline [psu*Mt/day] (',cd_routine,') = ',zsmv 
    135135            IF ( ABS( zei  ) > zh_sill ) WRITE(numout,*) 'violation enthalpy [GW]       (',cd_routine,') = ',zei 
    136             IF ( ABS(zvtrp ) > zv_sill .AND. cd_routine == 'limtrp' ) THEN 
     136            IF ( ABS(zvtrp ) > zv_sill .AND. cd_routine == 'iceadv' ) THEN 
    137137                                         WRITE(numout,*) 'violation vtrp [Mt/day]       (',cd_routine,') = ',zvtrp 
    138138                                         WRITE(numout,*) 'violation etrp [GW]           (',cd_routine,') = ',zetrp 
     
    140140            IF (     zvmin   < -epsi10 ) WRITE(numout,*) 'violation v_i<0  [m]          (',cd_routine,') = ',zvmin 
    141141            IF (     zamax   > MAX( rn_amax_n, rn_amax_s ) + epsi10 .AND. & 
    142                &                         cd_routine /= 'limtrp' .AND. cd_routine /= 'limitd_me' ) THEN 
     142               &                         cd_routine /= 'iceadv' .AND. cd_routine /= 'icerdgrft' ) THEN 
    143143                                         WRITE(numout,*) 'violation a_i>amax            (',cd_routine,') = ',zamax 
    144144            IF (     zamax   > 1._wp   ) WRITE(numout,*) 'violation a_i>1               (',cd_routine,') = ',zamax 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limitd_th.F90

    r8379 r8409  
    3636 
    3737   PUBLIC   lim_itd_th_rem   ! called in limthd 
    38    PUBLIC   lim_itd_th_reb   ! called in limupdate 
     38   PUBLIC   lim_itd_th_reb   ! called in icecor 
    3939 
    4040   !!---------------------------------------------------------------------- 
  • branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limwri.F90

    r8378 r8409  
    169169      CALL iom_put( "sfxopw"      , sfx_opw * rday      )        ! salt flux from open water formation 
    170170      CALL iom_put( "sfxdyn"      , sfx_dyn * rday      )        ! salt flux from ridging rafting 
    171       CALL iom_put( "sfxres"      , sfx_res * rday      )        ! salt flux from limupdate (resultant) 
     171      CALL iom_put( "sfxres"      , sfx_res * rday      )        ! salt flux from corrections (resultant) 
    172172      CALL iom_put( "sfxbri"      , sfx_bri * rday      )        ! salt flux from brines 
    173173      CALL iom_put( "sfxsub"      , sfx_sub * rday      )        ! salt flux from sublimation 
     
    175175 
    176176      ztmp = rday / rhoic 
    177       CALL iom_put( "vfxres"     , wfx_res * ztmp       )        ! daily prod./melting due to limupdate  
     177      CALL iom_put( "vfxres"     , wfx_res * ztmp       )        ! daily prod./melting due to corrections  
    178178      CALL iom_put( "vfxopw"     , wfx_opw * ztmp       )        ! daily lateral thermodynamic ice production 
    179179      CALL iom_put( "vfxsni"     , wfx_sni * ztmp       )        ! daily snowice ice production 
     
    495495      CALL histdef( kid, "vfxsni", "Snow ice production "    , "m/s"    ,   & 
    496496      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    497       CALL histdef( kid, "vfxres", "Ice prod from limupdate" , "m/s"    ,   & 
     497      CALL histdef( kid, "vfxres", "Ice prod from corrections" , "m/s"  ,   & 
    498498      &      jpi, jpj, kh_i, 1, 1, 1, -99, 32, "inst(x)", rdt, rdt ) 
    499499      CALL histdef( kid, "vfxbom", "Ice bottom melt"         , "m/s"    ,   & 
Note: See TracChangeset for help on using the changeset viewer.