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 7953 for branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/NST_SRC/agrif_user.F90 – NEMO

Ignore:
Timestamp:
2017-04-23T09:30:41+02:00 (7 years ago)
Author:
gm
Message:

#1880 (HPC-09): add zdfphy (the ZDF manager) + remove all key_...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/NST_SRC/agrif_user.F90

    r7761 r7953  
    11#if defined key_agrif 
    22!!---------------------------------------------------------------------- 
    3 !! NEMO/NST 3.7 , NEMO Consortium (2016) 
     3!! NEMO/NST 4.0 , NEMO Consortium (2017) 
    44!! $Id$ 
    55!! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
     
    107107   !! 
    108108   IMPLICIT NONE 
     109   ! 
    109110   !!---------------------------------------------------------------------- 
    110111   ! 
     
    125126   USE par_oce        
    126127   USE oce 
    127    !! 
     128   ! 
    128129   IMPLICIT NONE 
    129130   !!---------------------------------------------------------------------- 
     
    136137   ! 2. Type of interpolation 
    137138   !------------------------- 
    138    CALL Agrif_Set_bcinterp(e1u_id,interp1=Agrif_linear,interp2=AGRIF_ppm) 
    139    CALL Agrif_Set_bcinterp(e2v_id,interp1=AGRIF_ppm,interp2=Agrif_linear) 
     139   CALL Agrif_Set_bcinterp( e1u_id, interp1=Agrif_linear, interp2=AGRIF_ppm    ) 
     140   CALL Agrif_Set_bcinterp( e2v_id, interp1=AGRIF_ppm   , interp2=Agrif_linear ) 
    140141 
    141142   ! 3. Location of interpolation 
    142143   !----------------------------- 
    143    CALL Agrif_Set_bc(e1u_id,(/0,0/)) 
    144    CALL Agrif_Set_bc(e2v_id,(/0,0/)) 
     144   CALL Agrif_Set_bc( e1u_id, (/0,0/) ) 
     145   CALL Agrif_Set_bc( e2v_id, (/0,0/) ) 
    145146 
    146147   ! 5. Update type 
    147148   !---------------  
    148    CALL Agrif_Set_Updatetype(e1u_id,update1 = Agrif_Update_Copy, update2=Agrif_Update_Average) 
    149    CALL Agrif_Set_Updatetype(e2v_id,update1 = Agrif_Update_Average, update2=Agrif_Update_Copy) 
     149   CALL Agrif_Set_Updatetype( e1u_id, update1=Agrif_Update_Copy   , update2=Agrif_Update_Average ) 
     150   CALL Agrif_Set_Updatetype( e2v_id, update1=Agrif_Update_Average, update2=Agrif_Update_Copy    ) 
    150151 
    151152! High order updates 
    152 !   CALL Agrif_Set_Updatetype(e1u_id,update1 = Agrif_Update_Average,            update2=Agrif_Update_Full_Weighting) 
    153 !   CALL Agrif_Set_Updatetype(e2v_id,update1 = Agrif_Update_Full_Weighting,     update2=Agrif_Update_Average) 
     153!   CALL Agrif_Set_Updatetype( e1u_id, update1=Agrif_Update_Average       , update2=Agrif_Update_Full_Weighting ) 
     154!   CALL Agrif_Set_Updatetype( e2v_id, update1=Agrif_Update_Full_Weighting, update2=Agrif_Update_Average        ) 
    154155    ! 
    155156END SUBROUTINE agrif_declare_var_dom 
     
    165166   USE oce  
    166167   USE dom_oce 
     168   USE zdf_oce 
    167169   USE nemogcm 
     170   ! 
    168171   USE lib_mpp 
    169172   USE in_out_manager 
     
    171174   USE agrif_opa_interp 
    172175   USE agrif_opa_sponge 
    173    !! 
     176   ! 
    174177   IMPLICIT NONE 
    175178   ! 
     
    184187   ! 2. First interpolations of potentially non zero fields 
    185188   !------------------------------------------------------- 
    186    Agrif_SpecialValue=0. 
     189   Agrif_SpecialValue    = 0._wp 
    187190   Agrif_UseSpecialValue = .TRUE. 
    188191   CALL Agrif_Bc_variable(tsn_id,calledweight=1.,procname=interptsn) 
     
    319322   ENDIF 
    320323   ! 
    321 # if defined key_zdftke 
    322    CALL Agrif_Update_tke(0) 
    323 # endif 
     324   IF( ln_zdftke )   CALL Agrif_Update_tke( 0 ) 
    324325   ! 
    325326   Agrif_UseSpecialValueInUpdate = .FALSE. 
     
    337338   !!---------------------------------------------------------------------- 
    338339   USE agrif_util 
    339    USE par_oce       !   ONLY : jpts 
     340   USE agrif_oce 
     341   USE par_oce       ! ocean parameters 
     342   USE zdf_oce       ! vertical physics 
    340343   USE oce 
    341    USE agrif_oce 
    342344   !! 
    343345   IMPLICIT NONE 
     
    371373   CALL agrif_declare_variable((/2,2/),(/3,3/),(/'x','y'/),(/1,1/),(/nlci,nlcj/),sshn_id) 
    372374 
    373 # if defined key_zdftke 
    374    CALL agrif_declare_variable((/2,2,0/),(/3,3,0/),(/'x','y','N'/),(/1,1,1/),(/jpi,jpj,jpk/), en_id) 
    375    CALL agrif_declare_variable((/2,2,0/),(/3,3,0/),(/'x','y','N'/),(/1,1,1/),(/jpi,jpj,jpk/),avt_id) 
    376    CALL agrif_declare_variable((/2,2,0/),(/3,3,0/),(/'x','y','N'/),(/1,1,1/),(/jpi,jpj,jpk/),avm_id) 
    377 # endif 
     375   IF( ln_zdftke ) THEN 
     376      CALL agrif_declare_variable((/2,2,0/),(/3,3,0/),(/'x','y','N'/),(/1,1,1/),(/jpi,jpj,jpk/), en_id) 
     377      CALL agrif_declare_variable((/2,2,0/),(/3,3,0/),(/'x','y','N'/),(/1,1,1/),(/jpi,jpj,jpk/),avt_id) 
     378      CALL agrif_declare_variable((/2,2,0/),(/3,3,0/),(/'x','y','N'/),(/1,1,1/),(/jpi,jpj,jpk/),avm_id) 
     379   ENDIF 
    378380 
    379381   ! 2. Type of interpolation 
     
    400402   CALL Agrif_Set_bcinterp(vmsk_id,interp=AGRIF_constant) 
    401403 
    402 # if defined key_zdftke 
    403    CALL Agrif_Set_bcinterp(avm_id ,interp=AGRIF_linear) 
    404 # endif 
    405  
     404   IF( ln_zdftke )   CALL Agrif_Set_bcinterp( avm_id, interp=AGRIF_linear ) 
    406405 
    407406   ! 3. Location of interpolation 
     
    418417   CALL Agrif_Set_bc(vn_sponge_id ,(/-nn_sponge_len*Agrif_irhox()-1,0/)) 
    419418 
    420    CALL Agrif_Set_bc(sshn_id,(/0,0/)) 
    421    CALL Agrif_Set_bc(unb_id ,(/0,0/)) 
    422    CALL Agrif_Set_bc(vnb_id ,(/0,0/)) 
    423    CALL Agrif_Set_bc(ub2b_interp_id,(/0,0/)) 
    424    CALL Agrif_Set_bc(vb2b_interp_id,(/0,0/)) 
     419   CALL Agrif_Set_bc( sshn_id       , (/0,0/) ) 
     420   CALL Agrif_Set_bc( unb_id        , (/0,0/) ) 
     421   CALL Agrif_Set_bc( vnb_id        , (/0,0/) ) 
     422   CALL Agrif_Set_bc( ub2b_interp_id, (/0,0/) ) 
     423   CALL Agrif_Set_bc( vb2b_interp_id, (/0,0/) ) 
    425424 
    426425   CALL Agrif_Set_bc(e3t_id,(/-2*Agrif_irhox()-1,0/))   ! if west and rhox=3: column 2 to 9 
     
    428427   CALL Agrif_Set_bc(vmsk_id,(/0,0/)) 
    429428 
    430 # if defined key_zdftke 
    431    CALL Agrif_Set_bc(avm_id ,(/0,1/)) 
    432 # endif 
     429   IF( ln_zdftke )   CALL Agrif_Set_bc( avm_id, (/0,1/) ) 
    433430 
    434431   ! 5. Update type 
     
    446443   CALL Agrif_Set_Updatetype(vb2b_update_id,update1 = Agrif_Update_Average, update2 = Agrif_Update_Copy) 
    447444 
    448 # if defined key_zdftke 
    449    CALL Agrif_Set_Updatetype( en_id, update = AGRIF_Update_Average) 
    450    CALL Agrif_Set_Updatetype(avt_id, update = AGRIF_Update_Average) 
    451    CALL Agrif_Set_Updatetype(avm_id, update = AGRIF_Update_Average) 
    452 # endif 
     445   IF( ln_zdftke) THEN 
     446      CALL Agrif_Set_Updatetype( en_id, update = AGRIF_Update_Average) 
     447      CALL Agrif_Set_Updatetype(avt_id, update = AGRIF_Update_Average) 
     448      CALL Agrif_Set_Updatetype(avm_id, update = AGRIF_Update_Average) 
     449   ENDIF 
    453450 
    454451! High order updates 
Note: See TracChangeset for help on using the changeset viewer.