Changeset 8010 for branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/NST_SRC/agrif_user.F90
- Timestamp:
- 2017-05-09T17:36:25+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r7963_nemo_v3_6_AGRIF-3_AGRIFVVL/NEMOGCM/NEMO/NST_SRC/agrif_user.F90
r7988 r8010 1 #undef UPD_HIGH /* MIX HIGH UPDATE */ 1 2 #if defined key_agrif 2 3 !!---------------------------------------------------------------------- … … 90 91 # if defined key_top 91 92 CALL Agrif_InitValues_cont_top 92 # endif 93 # endif 94 95 nbcline = 0 96 #if defined key_top 97 nbcline_trc = 0 98 #endif 99 100 IF ( Agrif_Level().EQ.Agrif_MaxLevel() ) CALL agrif_Update_ini() 101 102 Agrif_UseSpecialValueInUpdate = .FALSE. 103 93 104 END SUBROUTINE Agrif_initvalues 94 105 … … 150 161 ! 5. Update type 151 162 !--------------- 163 # if defined UPD_HIGH 164 CALL Agrif_Set_Updatetype(e1u_id,update1 = Agrif_Update_Average, update2=Agrif_Update_Full_Weighting) 165 CALL Agrif_Set_Updatetype(e2v_id,update1 = Agrif_Update_Full_Weighting, update2=Agrif_Update_Average) 166 #else 152 167 CALL Agrif_Set_Updatetype(e1u_id,update1 = Agrif_Update_Copy, update2=Agrif_Update_Average) 153 168 CALL Agrif_Set_Updatetype(e2v_id,update1 = Agrif_Update_Average, update2=Agrif_Update_Copy) 154 155 ! High order updates 156 ! CALL Agrif_Set_Updatetype(e1u_id,update1 = Agrif_Update_Average, update2=Agrif_Update_Full_Weighting) 157 ! CALL Agrif_Set_Updatetype(e2v_id,update1 = Agrif_Update_Full_Weighting, update2=Agrif_Update_Average) 169 #endif 158 170 ! 159 171 END SUBROUTINE agrif_declare_var_dom … … 302 314 ! 303 315 ENDIF 304 ! 305 ! Do update at initialisation because not done before writing restarts 306 ! This would indeed change boundary conditions values at initial time 307 ! hence produce restartability issues. 308 ! Note that update below is recursive (with lk_agrif_doupd=T): 309 ! 310 ! JC: I am not sure if Agrif_MaxLevel() is the "relative" 311 ! or the absolute maximum nesting level...TBC 312 nbcline = 0 313 IF ( Agrif_Level().EQ.Agrif_MaxLevel() ) THEN 314 ! NB: Order matters below: 315 IF ( lk_vvl ) CALL Agrif_Update_vvl() 316 CALL Agrif_Update_tra() 317 CALL Agrif_Update_dyn() 318 ENDIF 319 ! 316 317 END SUBROUTINE Agrif_InitValues_cont 318 319 RECURSIVE SUBROUTINE Agrif_Update_ini( ) 320 ! 321 USE dom_oce 322 USE agrif_opa_update 323 #if defined key_top 324 USE agrif_top_update 325 #endif 326 ! 327 IMPLICIT NONE 328 ! 329 IF (Agrif_Root()) RETURN 330 ! 331 IF ( lk_vvl ) CALL Agrif_Update_vvl() 332 CALL Agrif_Update_tra() 333 #if defined key_top 334 CALL Agrif_Update_Trc() 335 #endif 336 CALL Agrif_Update_dyn() 320 337 # if defined key_zdftke 321 338 ! CALL Agrif_Update_tke(0) 322 339 # endif 323 ! 324 Agrif_UseSpecialValueInUpdate = .FALSE.325 lk_agrif_doupd = .FALSE.326 !327 END SUBROUTINE Agrif_InitValues_cont 328 340 341 CALL Agrif_ChildGrid_To_ParentGrid() 342 CALL Agrif_Update_ini() 343 CALL Agrif_ParentGrid_To_ChildGrid() 344 345 END SUBROUTINE agrif_update_ini 329 346 330 347 SUBROUTINE agrif_declare_var … … 431 448 ! 5. Update type 432 449 !--------------- 450 CALL Agrif_Set_Updatetype(scales_t_id, update = AGRIF_Update_Average) 451 452 # if defined UPD_HIGH 453 CALL Agrif_Set_Updatetype(tsn_id, update = Agrif_Update_Full_Weighting) 454 CALL Agrif_Set_Updatetype(un_update_id,update1 = Agrif_Update_Average, update2 = Agrif_Update_Full_Weighting) 455 CALL Agrif_Set_Updatetype(vn_update_id,update1 = Agrif_Update_Full_Weighting, update2 = Agrif_Update_Average) 456 457 CALL Agrif_Set_Updatetype(ub2b_update_id,update1 = Agrif_Update_Average, update2 = Agrif_Update_Full_Weighting) 458 CALL Agrif_Set_Updatetype(vb2b_update_id,update1 = Agrif_Update_Full_Weighting, update2 = Agrif_Update_Average) 459 CALL Agrif_Set_Updatetype(sshn_id, update = Agrif_Update_Full_Weighting) 460 CALL Agrif_Set_Updatetype(e3t_id, update = Agrif_Update_Full_Weighting) 461 462 # if defined key_zdftke || defined key_zdfgls 463 CALL Agrif_Set_Updatetype( en_id, update = AGRIF_Update_Full_Weighting) 464 CALL Agrif_Set_Updatetype(avt_id, update = AGRIF_Update_Full_Weighting) 465 CALL Agrif_Set_Updatetype(avm_id, update = AGRIF_Update_Full_Weighting) 466 # endif 467 468 #else 433 469 CALL Agrif_Set_Updatetype(tsn_id, update = AGRIF_Update_Average) 434 435 CALL Agrif_Set_Updatetype(scales_t_id, update = AGRIF_Update_Average)436 437 470 CALL Agrif_Set_Updatetype(un_update_id,update1 = Agrif_Update_Copy, update2 = Agrif_Update_Average) 438 471 CALL Agrif_Set_Updatetype(vn_update_id,update1 = Agrif_Update_Average, update2 = Agrif_Update_Copy) 439 472 440 CALL Agrif_Set_Updatetype(sshn_id, update = AGRIF_Update_Average)441 442 473 CALL Agrif_Set_Updatetype(ub2b_update_id,update1 = Agrif_Update_Copy, update2 = Agrif_Update_Average) 443 474 CALL Agrif_Set_Updatetype(vb2b_update_id,update1 = Agrif_Update_Average, update2 = Agrif_Update_Copy) 475 CALL Agrif_Set_Updatetype(sshn_id, update = AGRIF_Update_Average) 476 CALL Agrif_Set_Updatetype(e3t_id, update = AGRIF_Update_Average) 444 477 445 478 # if defined key_zdftke || defined key_zdfgls … … 449 482 # endif 450 483 451 CALL Agrif_Set_Updatetype(e3t_id, update = AGRIF_Update_Average) 452 453 ! High order updates 454 ! CALL Agrif_Set_Updatetype(tsn_id, update = Agrif_Update_Full_Weighting) 455 ! CALL Agrif_Set_Updatetype(un_update_id,update1 = Agrif_Update_Average, update2 = Agrif_Update_Full_Weighting) 456 ! CALL Agrif_Set_Updatetype(vn_update_id,update1 = Agrif_Update_Full_Weighting, update2 = Agrif_Update_Average) 457 ! 458 ! CALL Agrif_Set_Updatetype(ub2b_update_id,update1 = Agrif_Update_Average, update2 = Agrif_Update_Full_Weighting) 459 ! CALL Agrif_Set_Updatetype(vb2b_update_id,update1 = Agrif_Update_Full_Weighting, update2 = Agrif_Update_Average) 460 ! CALL Agrif_Set_Updatetype(sshn_id, update = Agrif_Update_Full_Weighting) 461 462 ! CALL Agrif_Set_Updatetype(e3t_id, update = Agrif_Update_Full_Weighting) 484 #endif 463 485 ! 464 486 END SUBROUTINE agrif_declare_var … … 660 682 ENDIF 661 683 ENDIF 662 nbcline_trc = 0663 CALL Agrif_Update_trc(0)664 !665 Agrif_UseSpecialValueInUpdate = .FALSE.666 684 ! 667 685 END SUBROUTINE Agrif_InitValues_cont_top … … 699 717 ! 5. Update type 700 718 !--------------- 719 # if defined UPD_HIGH 720 CALL Agrif_Set_Updatetype(trn_id, update = Agrif_Update_Full_Weighting) 721 #else 701 722 CALL Agrif_Set_Updatetype(trn_id, update = AGRIF_Update_Average) 702 703 ! Higher order update 704 ! CALL Agrif_Set_Updatetype(tsn_id, update = Agrif_Update_Full_Weighting) 705 723 #endif 706 724 ! 707 725 END SUBROUTINE agrif_declare_var_top
Note: See TracChangeset
for help on using the changeset viewer.