- Timestamp:
- 2009-12-21T16:05:15+01:00 (14 years ago)
- Location:
- trunk/NEMO/OPA_SRC
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DIA/dianam.F90
r1731 r1792 129 129 130 130 cdfnam = TRIM(cexper)//TRIM(clave)//"_"//TRIM(cldate1)//"_"//TRIM(cldate2)//"_"//TRIM(cdsuff) 131 #if defined key_agrif 132 if ( .NOT. Agrif_Root() ) cdfnam = TRIM(Agrif_CFixed())//'_'//TRIM(cdfnam) 133 #endif 131 IF( .NOT. Agrif_Root() ) cdfnam = TRIM(Agrif_CFixed())//'_'//TRIM(cdfnam) 134 132 135 133 END SUBROUTINE dia_nam -
trunk/NEMO/OPA_SRC/DIA/diawri.F90
r1756 r1792 629 629 ! Define name, frequency of output and means 630 630 clname = cdfile_name 631 #if defined key_agrif 632 if ( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) 633 #endif 631 IF( .NOT. Agrif_Root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) 634 632 zdt = rdt 635 633 zsto = rdt -
trunk/NEMO/OPA_SRC/DOM/dom_oce.F90
r1730 r1792 219 219 #else 220 220 LOGICAL, PUBLIC, PARAMETER :: lk_agrif = .FALSE. !: agrif flag 221 222 CONTAINS 223 LOGICAL FUNCTION Agrif_Root() 224 Agrif_Root = .TRUE. 225 END FUNCTION Agrif_Root 226 227 CHARACTER(len=3) FUNCTION Agrif_CFixed() 228 Agrif_CFixed = '0' 229 END FUNCTION Agrif_CFixed 221 230 #endif 222 231 -
trunk/NEMO/OPA_SRC/DOM/domain.F90
r1732 r1792 166 166 ENDIF 167 167 168 #if defined key_agrif169 168 IF( Agrif_Root() ) THEN 170 #endif 171 SELECT CASE ( nleapy ) ! Choose calendar for IOIPSL 172 CASE ( 1 ) 173 CALL ioconf_calendar('gregorian') 174 IF(lwp) WRITE(numout,*) ' The IOIPSL calendar is "gregorian", i.e. leap year' 175 CASE ( 0 ) 176 CALL ioconf_calendar('noleap') 177 IF(lwp) WRITE(numout,*) ' The IOIPSL calendar is "noleap", i.e. no leap year' 178 CASE ( 30 ) 179 CALL ioconf_calendar('360d') 180 IF(lwp) WRITE(numout,*) ' The IOIPSL calendar is "360d", i.e. 360 days in a year' 181 END SELECT 182 #if defined key_agrif 183 ENDIF 184 #endif 169 SELECT CASE ( nleapy ) ! Choose calendar for IOIPSL 170 CASE ( 1 ) 171 CALL ioconf_calendar('gregorian') 172 IF(lwp) WRITE(numout,*) ' The IOIPSL calendar is "gregorian", i.e. leap year' 173 CASE ( 0 ) 174 CALL ioconf_calendar('noleap') 175 IF(lwp) WRITE(numout,*) ' The IOIPSL calendar is "noleap", i.e. no leap year' 176 CASE ( 30 ) 177 CALL ioconf_calendar('360d') 178 IF(lwp) WRITE(numout,*) ' The IOIPSL calendar is "360d", i.e. 360 days in a year' 179 END SELECT 180 ENDIF 185 181 186 182 REWIND( numnam ) ! Namelist namdom : space & time domain (bathymetry, mesh, timestep) -
trunk/NEMO/OPA_SRC/DOM/domhgr.F90
r1707 r1792 270 270 271 271 #if defined key_agrif && defined key_eel_r6 272 IF (.Not.Agrif_Root()) THEN272 IF( .NOT. Agrif_Root() ) THEN 273 273 glam0 = Agrif_Parent(glam0) + (Agrif_ix())*Agrif_Parent(ppe1_m) * 1.e-3 274 274 gphi0 = Agrif_Parent(gphi0) + (Agrif_iy())*Agrif_Parent(ppe2_m) * 1.e-3 … … 465 465 466 466 #if defined key_agrif && defined key_eel_r6 467 IF (.Not.Agrif_Root()) THEN467 IF( .NOT. Agrif_Root() ) THEN 468 468 zphi0 = ppgphi0 - FLOAT( Agrif_Parent(jpjglo)/2)*Agrif_Parent(ppe2_m) / (ra * rad) 469 469 ENDIF -
trunk/NEMO/OPA_SRC/DYN/divcur.F90
r1152 r1792 123 123 124 124 #if defined key_obc 125 #if defined key_agrif 126 IF (Agrif_Root() ) THEN 127 #endif 128 ! open boundaries (div must be zero behind the open boundary) 129 ! mpp remark: The zeroing of hdivn can probably be extended to 1->jpi/jpj for the correct row/column 130 IF( lp_obc_east ) hdivn(nie0p1:nie1p1,nje0 :nje1 ,jk) = 0.e0 ! east 131 IF( lp_obc_west ) hdivn(niw0 :niw1 ,njw0 :njw1 ,jk) = 0.e0 ! west 132 IF( lp_obc_north ) hdivn(nin0 :nin1 ,njn0p1:njn1p1,jk) = 0.e0 ! north 133 IF( lp_obc_south ) hdivn(nis0 :nis1 ,njs0 :njs1 ,jk) = 0.e0 ! south 134 #if defined key_agrif 135 ENDIF 136 #endif 125 IF( Agrif_Root() ) THEN 126 ! open boundaries (div must be zero behind the open boundary) 127 ! mpp remark: The zeroing of hdivn can probably be extended to 1->jpi/jpj for the correct row/column 128 IF( lp_obc_east ) hdivn(nie0p1:nie1p1,nje0 :nje1 ,jk) = 0.e0 ! east 129 IF( lp_obc_west ) hdivn(niw0 :niw1 ,njw0 :njw1 ,jk) = 0.e0 ! west 130 IF( lp_obc_north ) hdivn(nin0 :nin1 ,njn0p1:njn1p1,jk) = 0.e0 ! north 131 IF( lp_obc_south ) hdivn(nis0 :nis1 ,njs0 :njs1 ,jk) = 0.e0 ! south 132 ENDIF 137 133 #endif 138 134 #if defined key_bdy 139 135 ! unstructured open boundaries (div must be zero behind the open boundary) 140 136 DO jj = 1, jpj 141 DO ji = 1, jpi142 hdivn(ji,jj,jk)=hdivn(ji,jj,jk)*bdytmask(ji,jj)143 END DO137 DO ji = 1, jpi 138 hdivn(ji,jj,jk)=hdivn(ji,jj,jk)*bdytmask(ji,jj) 139 END DO 144 140 END DO 145 141 #endif 146 #if defined key_agrif 147 if ( .NOT. AGRIF_Root() ) then 148 IF ((nbondi == 1).OR.(nbondi == 2)) hdivn(nlci-1 , : ,jk) = 0.e0 ! east 149 IF ((nbondi == -1).OR.(nbondi == 2)) hdivn(2 , : ,jk) = 0.e0 ! west 150 IF ((nbondj == 1).OR.(nbondj == 2)) hdivn(: ,nlcj-1 ,jk) = 0.e0 ! north 151 IF ((nbondj == -1).OR.(nbondj == 2)) hdivn(: ,2 ,jk) = 0.e0 ! south 152 endif 153 #endif 142 IF( .NOT. AGRIF_Root() ) THEN 143 IF ((nbondi == 1).OR.(nbondi == 2)) hdivn(nlci-1 , : ,jk) = 0.e0 ! east 144 IF ((nbondi == -1).OR.(nbondi == 2)) hdivn(2 , : ,jk) = 0.e0 ! west 145 IF ((nbondj == 1).OR.(nbondj == 2)) hdivn(: ,nlcj-1 ,jk) = 0.e0 ! north 146 IF ((nbondj == -1).OR.(nbondj == 2)) hdivn(: ,2 ,jk) = 0.e0 ! south 147 ENDIF 154 148 155 149 ! ! -------- … … 341 335 342 336 #if defined key_obc 343 #if defined key_agrif 344 IF ( Agrif_Root() ) THEN 345 #endif 346 ! open boundaries (div must be zero behind the open boundary) 347 ! mpp remark: The zeroing of hdivn can probably be extended to 1->jpi/jpj for the correct row/column 348 IF( lp_obc_east ) hdivn(nie0p1:nie1p1,nje0 :nje1 ,jk) = 0.e0 ! east 349 IF( lp_obc_west ) hdivn(niw0 :niw1 ,njw0 :njw1 ,jk) = 0.e0 ! west 350 IF( lp_obc_north ) hdivn(nin0 :nin1 ,njn0p1:njn1p1,jk) = 0.e0 ! north 351 IF( lp_obc_south ) hdivn(nis0 :nis1 ,njs0 :njs1 ,jk) = 0.e0 ! south 352 #if defined key_agrif 353 ENDIF 354 #endif 337 IF( Agrif_Root() ) THEN 338 ! open boundaries (div must be zero behind the open boundary) 339 ! mpp remark: The zeroing of hdivn can probably be extended to 1->jpi/jpj for the correct row/column 340 IF( lp_obc_east ) hdivn(nie0p1:nie1p1,nje0 :nje1 ,jk) = 0.e0 ! east 341 IF( lp_obc_west ) hdivn(niw0 :niw1 ,njw0 :njw1 ,jk) = 0.e0 ! west 342 IF( lp_obc_north ) hdivn(nin0 :nin1 ,njn0p1:njn1p1,jk) = 0.e0 ! north 343 IF( lp_obc_south ) hdivn(nis0 :nis1 ,njs0 :njs1 ,jk) = 0.e0 ! south 344 ENDIF 355 345 #endif 356 346 #if defined key_bdy … … 362 352 END DO 363 353 #endif 364 #if defined key_agrif 365 if ( .NOT. AGRIF_Root() ) then 354 IF( .NOT. AGRIF_Root() ) THEN 366 355 IF ((nbondi == 1).OR.(nbondi == 2)) hdivn(nlci-1 , : ,jk) = 0.e0 ! east 367 356 IF ((nbondi == -1).OR.(nbondi == 2)) hdivn(2 , : ,jk) = 0.e0 ! west 368 357 IF ((nbondj == 1).OR.(nbondj == 2)) hdivn(: ,nlcj-1 ,jk) = 0.e0 ! north 369 358 IF ((nbondj == -1).OR.(nbondj == 2)) hdivn(: ,2 ,jk) = 0.e0 ! south 370 endif 371 #endif 359 ENDIF 372 360 373 361 ! ! -------- -
trunk/NEMO/OPA_SRC/DYN/dynspg_flt.F90
r1739 r1792 330 330 END DO 331 331 332 #if defined key_agrif 332 #if defined key_agrif 333 333 IF( .NOT. Agrif_Root() ) THEN 334 334 ! caution : grad D (fine) = grad D (coarse) at coarse/fine interface … … 338 338 IF( nbondj == 1 .OR. nbondj == 2 ) spgv(:,nlcj-2) = z2dtg * z2dt * laplacv(:,nlcj-2) * vmask(:,nlcj-2,1) 339 339 ENDIF 340 #endif 340 #endif 341 341 342 ! Add the trends multiplied by z2dt to the after velocity 342 343 ! ------------------------------------------------------- -
trunk/NEMO/OPA_SRC/DYN/sshwzv.F90
r1756 r1792 157 157 158 158 #if defined key_obc 159 # if defined key_agrif160 159 IF ( Agrif_Root() ) THEN 161 # endif162 160 ssha(:,:) = ssha(:,:) * obctmsk(:,:) 163 161 CALL lbc_lnk( ssha, 'T', 1. ) ! absolutly compulsory !! (jmm) 164 # if defined key_agrif 165 ENDIF 166 # endif 162 ENDIF 167 163 #endif 168 164 -
trunk/NEMO/OPA_SRC/IOM/iom.F90
r1743 r1792 164 164 ! if iom_open is called for the first time: initialize iom_file(:)%nfid to 0 165 165 ! (could be done when defining iom_file in f95 but not in f90) 166 #if ! defined key_agrif167 IF( iom_open_init == 0 ) THEN168 iom_file(:)%nfid = 0169 iom_open_init = 1170 ENDIF171 #else172 166 IF( Agrif_Root() ) THEN 173 167 IF( iom_open_init == 0 ) THEN … … 176 170 ENDIF 177 171 ENDIF 178 #endif179 172 ! do we read or write the file? 180 173 IF( PRESENT(ldwrt) ) THEN ; llwrt = ldwrt … … 199 192 ! ============= 200 193 clname = trim(cdname) 201 #if defined key_agrif202 194 IF ( .NOT. Agrif_Root() .AND. .NOT. lliof ) THEN 203 195 iln = INDEX(clname,'/') … … 206 198 clname=TRIM(cltmpn)//TRIM(Agrif_CFixed())//'_'//TRIM(clname) 207 199 ENDIF 208 #endif209 200 ! which suffix should we use? 210 201 SELECT CASE (iolib) -
trunk/NEMO/OPA_SRC/SBC/sbcmod.F90
r1725 r1792 85 85 !!gm here no overwrite, test all option via namelist change: require more incore memory 86 86 !!gm IF( lk_sbc_cpl ) THEN ; ln_cpl = .TRUE. ; ELSE ; ln_cpl = .FALSE. ; ENDIF 87 #if defined key_agrif 87 88 88 IF ( Agrif_Root() ) THEN 89 #endif90 89 IF( lk_lim2 ) nn_ice = 2 91 90 IF( lk_lim3 ) nn_ice = 3 92 #if defined key_agrif 93 ENDIF 94 #endif 91 ENDIF 92 ! 95 93 IF( cp_cfg == 'gyre' ) THEN 96 94 ln_ana = .TRUE. -
trunk/NEMO/OPA_SRC/SOL/solmat.F90
r1601 r1792 142 142 #endif 143 143 144 #if defined key_agrif 145 IF( .NOT.AGRIF_ROOT() ) THEN 144 IF( .NOT. Agrif_Root() ) THEN ! Fine grid boundaries 146 145 ! 147 146 IF( nbondi == -1 .OR. nbondi == 2 ) bmask(2 ,: ) = 0.e0 … … 192 191 ! 193 192 ENDIF 194 #endif195 193 196 194 ! 2. Boundary conditions
Note: See TracChangeset
for help on using the changeset viewer.