- Timestamp:
- 2016-11-21T09:55:07+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_CNRS_2016/NEMOGCM/NEMO/NST_SRC/agrif_user.F90
r6140 r7277 1 1 #if defined key_agrif 2 2 !!---------------------------------------------------------------------- 3 !! NEMO/NST 3.7 , NEMO Consortium (201 5)3 !! NEMO/NST 3.7 , NEMO Consortium (2016) 4 4 !! $Id$ 5 5 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) … … 18 18 USE dom_oce 19 19 USE nemogcm 20 ! 20 !! 21 21 IMPLICIT NONE 22 22 !!---------------------------------------------------------------------- … … 32 32 ! JC: change to allow for different vertical levels 33 33 ! jpk is already set 34 ! keep it jpk possibly different from jpk dtawhich34 ! keep it jpk possibly different from jpkglo which 35 35 ! hold parent grid vertical levels number (set earlier) 36 ! jpk = jpk dta36 ! jpk = jpkglo 37 37 jpim1 = jpi-1 38 38 jpjm1 = jpj-1 39 39 jpkm1 = jpk-1 40 40 jpij = jpi*jpj 41 jpidta = jpiglo 42 jpjdta = jpjglo 43 jpizoom = 1 44 jpjzoom = 1 41 !SF jpidta = jpiglo 42 !SF jpjdta = jpjglo 45 43 nperio = 0 46 44 jperio = 0 … … 62 60 USE tradmp 63 61 USE bdy_par 64 65 IMPLICIT NONE 66 !!---------------------------------------------------------------------- 67 ! 0. Initializations68 !------------------- 69 IF( cp_cfg == 'orca' ) THEN 70 IF ( jp_cfg == 2 .OR. jp_cfg == 025 .OR. jp_cfg == 05 &71 & .OR. jp_cfg == 4 ) THEN72 jp_cfg = -1 ! set special value for jp_cfg on fine grids73 c p_cfg = "default"62 !! 63 IMPLICIT NONE 64 !!---------------------------------------------------------------------- 65 ! 66 !!gm I think this is now useless ... nn_cfg & cn_cfg are set to -999999 and "UNKNOWN" 67 !!gm when reading the AGRIF domain configuration file 68 IF( cn_cfg == 'orca' ) THEN 69 IF ( nn_cfg == 2 .OR. nn_cfg == 025 .OR. nn_cfg == 05 .OR. nn_cfg == 4 ) THEN 70 nn_cfg = -1 ! set special value for nn_cfg on fine grids 71 cn_cfg = "default" 74 72 ENDIF 75 73 ENDIF 76 ! Specific fine grid Initializations 77 ! no tracer damping on fine grids 78 ln_tradmp = .FALSE. 79 ! no open boundary on fine grids 80 lk_bdy = .FALSE. 81 82 83 CALL nemo_init ! Initializations of each fine grid 84 74 !!gm end 75 76 ! !* Specific fine grid Initializations 77 ln_tradmp = .FALSE. ! no tracer damping on fine grids 78 ! 79 lk_bdy = .FALSE. ! no open boundary on fine grids 80 81 CALL nemo_init !* Initializations of each fine grid 82 83 ! !* Agrif initialization 85 84 CALL agrif_nemo_init 86 85 CALL Agrif_InitValues_cont_dom … … 90 89 # if defined key_top 91 90 CALL Agrif_InitValues_cont_top 92 # endif 91 # endif 92 ! 93 93 END SUBROUTINE Agrif_initvalues 94 94 … … 108 108 USE agrif_opa_interp 109 109 USE agrif_opa_sponge 110 ! 111 IMPLICIT NONE 112 ! 113 !!---------------------------------------------------------------------- 114 110 !! 111 IMPLICIT NONE 112 !!---------------------------------------------------------------------- 113 ! 115 114 ! Declaration of the type of variable which have to be interpolated 116 ! ---------------------------------------------------------------------115 ! 117 116 CALL agrif_declare_var_dom 118 117 ! … … 129 128 USE par_oce 130 129 USE oce 130 !! 131 131 IMPLICIT NONE 132 132 !!---------------------------------------------------------------------- … … 176 176 USE agrif_opa_interp 177 177 USE agrif_opa_sponge 178 ! 178 !! 179 179 IMPLICIT NONE 180 180 ! … … 259 259 260 260 ! Check coordinates 261 IF( ln_zps ) THEN262 ! check parameters for partial steps263 IF( Agrif_Parent(e3zps_min) .NE. e3zps_min ) THEN264 WRITE(*,*) 'incompatible e3zps_min between grids'265 WRITE(*,*) 'parent grid :',Agrif_Parent(e3zps_min)266 WRITE(*,*) 'child grid :',e3zps_min267 WRITE(*,*) 'those values should be identical'268 STOP269 ENDIF270 IF( Agrif_Parent(e3zps_rat) /= e3zps_rat ) THEN271 WRITE(*,*) 'incompatible e3zps_rat between grids'272 WRITE(*,*) 'parent grid :',Agrif_Parent(e3zps_rat)273 WRITE(*,*) 'child grid :',e3zps_rat274 WRITE(*,*) 'those values should be identical'275 STOP276 ENDIF277 ENDIF261 !SF IF( ln_zps ) THEN 262 !SF ! check parameters for partial steps 263 !SF IF( Agrif_Parent(e3zps_min) .NE. e3zps_min ) THEN 264 !SF WRITE(*,*) 'incompatible e3zps_min between grids' 265 !SF WRITE(*,*) 'parent grid :',Agrif_Parent(e3zps_min) 266 !SF WRITE(*,*) 'child grid :',e3zps_min 267 !SF WRITE(*,*) 'those values should be identical' 268 !SF STOP 269 !SF ENDIF 270 !SF IF( Agrif_Parent(e3zps_rat) /= e3zps_rat ) THEN 271 !SF WRITE(*,*) 'incompatible e3zps_rat between grids' 272 !SF WRITE(*,*) 'parent grid :',Agrif_Parent(e3zps_rat) 273 !SF WRITE(*,*) 'child grid :',e3zps_rat 274 !SF WRITE(*,*) 'those values should be identical' 275 !SF STOP 276 !SF ENDIF 277 !SF ENDIF 278 278 279 279 ! Check free surface scheme … … 346 346 USE oce 347 347 USE agrif_oce 348 !! 348 349 IMPLICIT NONE 349 350 !!---------------------------------------------------------------------- … … 484 485 USE agrif_lim2_interp 485 486 USE lib_mpp 486 ! 487 IMPLICIT NONE 488 ! 487 !! 488 IMPLICIT NONE 489 489 !!---------------------------------------------------------------------- 490 490 … … 521 521 END SUBROUTINE Agrif_InitValues_cont_lim2 522 522 523 523 524 SUBROUTINE agrif_declare_var_lim2 524 525 !!---------------------------------------------------------------------- … … 529 530 USE agrif_util 530 531 USE ice_2 531 532 !! 532 533 IMPLICIT NONE 533 534 !!---------------------------------------------------------------------- … … 585 586 USE agrif_top_interp 586 587 USE agrif_top_sponge 587 ! 588 !! 588 589 IMPLICIT NONE 589 590 ! … … 684 685 USE dom_oce 685 686 USE trc 686 687 IMPLICIT NONE 687 !! 688 IMPLICIT NONE 689 !!---------------------------------------------------------------------- 688 690 689 691 ! 1. Declaration of the type of variable which have to be interpolated … … 716 718 SUBROUTINE Agrif_detect( kg, ksizex ) 717 719 !!---------------------------------------------------------------------- 718 !! *** ROUTINE Agrif_detect *** 719 !!---------------------------------------------------------------------- 720 ! 720 !! *** ROUTINE Agrif_detect *** 721 !!---------------------------------------------------------------------- 721 722 INTEGER, DIMENSION(2) :: ksizex 722 723 INTEGER, DIMENSION(ksizex(1),ksizex(2)) :: kg … … 736 737 USE in_out_manager 737 738 USE lib_mpp 739 !! 738 740 IMPLICIT NONE 739 741 ! … … 789 791 !!---------------------------------------------------------------------- 790 792 USE dom_oce 793 !! 791 794 IMPLICIT NONE 792 795 ! … … 803 806 END SUBROUTINE Agrif_InvLoc 804 807 808 805 809 SUBROUTINE Agrif_get_proc_info( imin, imax, jmin, jmax ) 806 810 !!---------------------------------------------------------------------- … … 808 812 !!---------------------------------------------------------------------- 809 813 USE par_oce 814 !! 810 815 IMPLICIT NONE 811 816 ! … … 821 826 END SUBROUTINE Agrif_get_proc_info 822 827 828 823 829 SUBROUTINE Agrif_estimate_parallel_cost(imin, imax,jmin, jmax, nbprocs, grid_cost) 824 830 !!---------------------------------------------------------------------- … … 826 832 !!---------------------------------------------------------------------- 827 833 USE par_oce 834 !! 828 835 IMPLICIT NONE 829 836 !
Note: See TracChangeset
for help on using the changeset viewer.