- Timestamp:
- 2017-04-23T09:30:41+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r7881_HPC09_ZDF/NEMOGCM/NEMO/NST_SRC/agrif_user.F90
r7761 r7953 1 1 #if defined key_agrif 2 2 !!---------------------------------------------------------------------- 3 !! NEMO/NST 3.7 , NEMO Consortium (2016)3 !! NEMO/NST 4.0 , NEMO Consortium (2017) 4 4 !! $Id$ 5 5 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) … … 107 107 !! 108 108 IMPLICIT NONE 109 ! 109 110 !!---------------------------------------------------------------------- 110 111 ! … … 125 126 USE par_oce 126 127 USE oce 127 ! !128 ! 128 129 IMPLICIT NONE 129 130 !!---------------------------------------------------------------------- … … 136 137 ! 2. Type of interpolation 137 138 !------------------------- 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 ) 140 141 141 142 ! 3. Location of interpolation 142 143 !----------------------------- 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/) ) 145 146 146 147 ! 5. Update type 147 148 !--------------- 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 ) 150 151 151 152 ! 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 ) 154 155 ! 155 156 END SUBROUTINE agrif_declare_var_dom … … 165 166 USE oce 166 167 USE dom_oce 168 USE zdf_oce 167 169 USE nemogcm 170 ! 168 171 USE lib_mpp 169 172 USE in_out_manager … … 171 174 USE agrif_opa_interp 172 175 USE agrif_opa_sponge 173 ! !176 ! 174 177 IMPLICIT NONE 175 178 ! … … 184 187 ! 2. First interpolations of potentially non zero fields 185 188 !------------------------------------------------------- 186 Agrif_SpecialValue =0.189 Agrif_SpecialValue = 0._wp 187 190 Agrif_UseSpecialValue = .TRUE. 188 191 CALL Agrif_Bc_variable(tsn_id,calledweight=1.,procname=interptsn) … … 319 322 ENDIF 320 323 ! 321 # if defined key_zdftke 322 CALL Agrif_Update_tke(0) 323 # endif 324 IF( ln_zdftke ) CALL Agrif_Update_tke( 0 ) 324 325 ! 325 326 Agrif_UseSpecialValueInUpdate = .FALSE. … … 337 338 !!---------------------------------------------------------------------- 338 339 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 340 343 USE oce 341 USE agrif_oce342 344 !! 343 345 IMPLICIT NONE … … 371 373 CALL agrif_declare_variable((/2,2/),(/3,3/),(/'x','y'/),(/1,1/),(/nlci,nlcj/),sshn_id) 372 374 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 378 380 379 381 ! 2. Type of interpolation … … 400 402 CALL Agrif_Set_bcinterp(vmsk_id,interp=AGRIF_constant) 401 403 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 ) 406 405 407 406 ! 3. Location of interpolation … … 418 417 CALL Agrif_Set_bc(vn_sponge_id ,(/-nn_sponge_len*Agrif_irhox()-1,0/)) 419 418 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/) ) 425 424 426 425 CALL Agrif_Set_bc(e3t_id,(/-2*Agrif_irhox()-1,0/)) ! if west and rhox=3: column 2 to 9 … … 428 427 CALL Agrif_Set_bc(vmsk_id,(/0,0/)) 429 428 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/) ) 433 430 434 431 ! 5. Update type … … 446 443 CALL Agrif_Set_Updatetype(vb2b_update_id,update1 = Agrif_Update_Average, update2 = Agrif_Update_Copy) 447 444 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 453 450 454 451 ! High order updates
Note: See TracChangeset
for help on using the changeset viewer.