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 6584 for branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/OPA_SRC – NEMO

Ignore:
Timestamp:
2016-05-20T11:54:18+02:00 (8 years ago)
Author:
clem
Message:

LIM3 and Agrif compatibility

Location:
branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/OPA_SRC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r6399 r6584  
    15671567 
    15681568      ! --- heat flux associated with emp (W/m2) --- ! 
    1569       zqemp_oce(:,:) = -      zevap(:,:)                   * p_frld(:,:)      *   zcptn(:,:)   &      ! evap 
    1570          &             + ( ztprecip(:,:) - zsprecip(:,:) )                    *   zcptn(:,:)   &      ! liquid precip 
    1571          &             +   zsprecip(:,:)                   * ( 1._wp - zsnw ) * ( zcptn(:,:) - lfus ) ! solid precip over ocean 
     1569      zqemp_oce(:,:) = -      zevap(:,:)                   * p_frld(:,:)      *   zcptn(:,:)   &       ! evap 
     1570         &             + ( ztprecip(:,:) - zsprecip(:,:) )                    *   zcptn(:,:)   &       ! liquid precip 
     1571         &             +   zsprecip(:,:)                   * ( 1._wp - zsnw ) * ( zcptn(:,:) - lfus )  ! solid precip over ocean + snow melting 
    15721572!      zqemp_ice(:,:) = -   frcv(jpr_ievp)%z3(:,:,1)        * zicefr(:,:)      *   zcptn(:,:)   &      ! ice evap 
    15731573!         &             +   zsprecip(:,:)                   * zsnw             * ( zcptn(:,:) - lfus ) ! solid precip over ice 
    15741574      zqemp_ice(:,:) =      zsprecip(:,:)                   * zsnw             * ( zcptn(:,:) - lfus ) ! solid precip over ice (only) 
    1575                                                                                                        ! qevap_ice=0 since we consider Tice=0°C 
     1575                                                                                                       ! qevap_ice=0 since we consider Tice=0degC 
    15761576       
    1577       ! --- heat content of precip over ice in J/m3 (to be used in 1D-thermo) --- ! 
     1577      ! --- enthalpy of snow precip over ice in J/m3 (to be used in 1D-thermo) --- ! 
    15781578      zqprec_ice(:,:) = rhosn * ( zcptn(:,:) - lfus ) 
    15791579 
    15801580      ! --- heat content of evap over ice in W/m2 (to be used in 1D-thermo) --- ! 
    15811581      DO jl = 1, jpl 
    1582          zqevap_ice(:,:,jl) = 0._wp ! should be -evap * ( ( Tice - rt0 ) * cpic ) but we do not have Tice, so we consider Tice=0°C 
     1582         zqevap_ice(:,:,jl) = 0._wp ! should be -evap * ( ( Tice - rt0 ) * cpic ) but we do not have Tice, so we consider Tice=0degC 
    15831583      END DO 
    15841584 
  • branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90

    r6515 r6584  
    6666   USE bdyice_lim       ! unstructured open boundary data  (bdy_ice_lim routine) 
    6767#endif 
     68# if defined key_agrif 
     69   USE agrif_ice 
     70   USE agrif_lim3_update 
     71   USE agrif_lim3_interp 
     72# endif 
    6873 
    6974   IMPLICIT NONE 
     
    119124      !-----------------------! 
    120125      IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN 
     126 
     127# if defined key_agrif 
     128         IF( .NOT. Agrif_Root() ) THEN 
     129            lim_nbstep = MOD( lim_nbstep, Agrif_irhot() * Agrif_Parent(nn_fsbc) / nn_fsbc ) + 1 
     130         ENDIF 
     131# endif 
    121132 
    122133         ! mean surface ocean current at ice velocity point (C-grid dynamics :  U- & V-points as the ocean) 
     
    162173                                      CALL lim_rst_opn( kt )   ! Open Ice restart file 
    163174         ! 
     175#if defined key_agrif 
     176          IF( .NOT. Agrif_Root() )    CALL agrif_interp_lim3('T') 
     177#endif 
    164178         ! --- zap this if no ice dynamics --- ! 
    165179         IF( .NOT. lk_c1d .AND. ln_limdyn ) THEN 
     
    178192         ENDIF 
    179193         ! --- 
     194#if defined key_agrif 
     195          IF( .NOT. Agrif_Root() )    CALL agrif_interp_lim3('T') 
     196#endif 
    180197#if defined key_bdy 
    181          IF( ln_limthd )              CALL bdy_ice_lim( kt )   ! bdy ice thermo  
     198         IF( ln_limthd )              CALL bdy_ice_lim( kt )   ! -- bdy ice thermo  
    182199         IF( ln_icectl )              CALL lim_prt( kt, iiceprt, jiceprt, 1, ' - ice thermo bdy - ' ) 
    183200#endif 
     
    237254         IF( ln_limthd )              CALL lim_update2( kt )    ! -- Corrections 
    238255         ! --- 
     256# if defined key_agrif 
     257         IF( .NOT. Agrif_Root() )     CALL agrif_update_lim3( kt ) 
     258# endif 
    239259                                      CALL lim_var_glo2eqv      ! necessary calls (at least for coupling) 
    240260                                      CALL lim_var_agg( 2 )     ! necessary calls (at least for coupling) 
     
    345365      ! 
    346366      IF( nstock == 0 )   nstock = nlast + 1 
     367      ! 
     368# if defined key_agrif 
     369      IF( .NOT. Agrif_Root() )   CALL Agrif_InitValues_cont_lim3 
     370# endif 
    347371      ! 
    348372   END SUBROUTINE sbc_lim_init 
  • branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90

    r6204 r6584  
    133133# endif 
    134134# if defined key_lim2 
    135       CALL Agrif_Declare_Var_lim2  !  "      "   "   "      "  LIM 
     135      CALL Agrif_Declare_Var_lim2  !  "      "   "   "      "  LIM2 
     136# endif 
     137# if defined key_lim3 
     138      CALL Agrif_Declare_Var_lim3  !  "      "   "   "      "  LIM3 
    136139# endif 
    137140#endif 
Note: See TracChangeset for help on using the changeset viewer.