Changeset 10
- Timestamp:
- 02/09/12 19:18:51 (13 years ago)
- Location:
- trunk/NEMOGCM/NEMO/OPA_SRC/OBC
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/OBC/obc_oce.F90
r1 r10 64 64 ! ! These logical flags are set to 'true' if damping time 65 65 ! ! scale are set to 0 in the namelist, for both inflow and outflow). 66 67 !--> IND4 Begin 68 ! Logical for restarting with radiative OBCs, but without an OBC restart restart.obc.output file. 69 ! During the first 30 time steps, used FIXED boundary conditions. 70 ! We modify : obcini, obctra, obcdyn 71 LOGICAL :: ln_obc_rstart = .TRUE. !: radiative OBCs, but do not read restart.obc.output 72 !<-- IND4 End 66 73 67 74 REAL(wp), PUBLIC :: obcsurftot !: Total lateral surface of open boundaries -
trunk/NEMOGCM/NEMO/OPA_SRC/OBC/obcdyn.F90
r1 r10 45 45 REAL(wp) :: rtaue , rtauw , rtaun , rtaus , & 46 46 rtauein, rtauwin, rtaunin, rtausin 47 48 ! IND4 49 LOGICAL :: ll_fbc 50 ! IND4 47 51 48 52 !!--------------------------------------------------------------------------------- … … 97 101 rtausin = 2. * rdt / rdpsin 98 102 END IF 103 ! IND4 104 ! ll_fbc = ( ( ( kt < nit000+3 ) .AND. .NOT. ln_rstart ) .OR. lk_dynspg_exp ) 105 ! IF ( cp_cfg == "indian" .OR. cp_cfg == "bengal" ) THEN 106 ll_fbc = ( ( ( kt < nit000+30 ) .AND. .NOT. ln_obc_rstart ) .OR. lk_dynspg_exp ) 107 ! ENDIF 108 ! IND4 109 99 110 100 111 IF( lp_obc_east ) CALL obc_dyn_east ( kt ) … … 104 115 105 116 IF( lk_mpp ) THEN 106 IF( kt >= nit000+3 .AND. ln_rstart ) THEN 117 ! IND4 BUG OBC_RADIA 118 ! IF( kt >= nit000+3 .AND. ln_rstart ) THEN 107 119 CALL lbc_lnk( ub, 'U', -1. ) 108 120 CALL lbc_lnk( vb, 'V', -1. ) 109 END IF 121 ! END IF 122 ! IND4 110 123 CALL lbc_lnk( ua, 'U', -1. ) 111 124 CALL lbc_lnk( va, 'V', -1. ) … … 143 156 ! -------------------------------------------------------- 144 157 145 IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbceast .OR. lk_dynspg_exp ) THEN 158 ! IND4 159 ! IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbceast .OR. lk_dynspg_exp ) THEN 160 IF ( ll_fbc .OR. lfbceast ) THEN 161 ! IND4 146 162 147 163 ! 1.1 U zonal velocity … … 285 301 ! -------------------------------------------------------- 286 302 287 IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbcwest .OR. lk_dynspg_exp ) THEN 303 ! IND4 304 ! IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbcwest .OR. lk_dynspg_exp ) THEN 305 IF ( ll_fbc .OR. lfbcwest ) THEN 306 ! IND4 288 307 289 308 ! 1.1 U zonal velocity … … 424 443 ! --------------------------------------------------------- 425 444 426 IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbcnorth .OR. lk_dynspg_exp ) THEN 445 ! IND4 446 ! IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbcnorth .OR. lk_dynspg_exp ) THEN 447 IF ( ll_fbc .OR. lfbcnorth ) THEN 448 ! IND4 427 449 428 450 ! 1.1 U zonal velocity … … 575 597 ! --------------------------------------------------------- 576 598 577 IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbcsouth .OR. lk_dynspg_exp ) THEN 599 ! IND4 600 ! IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbcsouth .OR. lk_dynspg_exp ) THEN 601 IF ( ll_fbc .OR. lfbcsouth ) THEN 602 ! IND4 578 603 579 604 ! 1.1 U zonal velocity -
trunk/NEMOGCM/NEMO/OPA_SRC/OBC/obcini.F90
r1 r10 63 63 & rn_dpeob, rn_dpwob, rn_dpnob, rn_dpsob, & 64 64 & rn_volemp, nn_obcdta, cn_obcdta, & 65 & ln_obc_clim, ln_vol_cst, ln_obc_fla 65 & ln_obc_clim, ln_vol_cst, ln_obc_fla,ln_obc_rstart 66 66 !!---------------------------------------------------------------------- 67 67 … … 582 582 ! -------------------------------------------------------------- 583 583 ! only if at least one boundary is radiative 584 IF ( inumfbc < nbobc .AND. ln_rstart ) THEN 585 ! Restart from restart.obc 586 CALL obc_rst_read 587 ELSE 584 ! IND4 IF ( inumfbc < nbobc .AND. ln_rstart ) THEN 585 ! IND4 ! Restart from restart.obc 586 ! IND4 CALL obc_rst_read 587 588 ! IND4 589 IF(lwp) WRITE(numout,*) 590 IF(lwp) WRITE(numout,*) ' obcini : ' 591 IF(lwp) WRITE(numout,*) ' ln_rstart : ', ln_rstart 592 IF(lwp) WRITE(numout,*) ' ln_obc_rstart : ', ln_obc_rstart 593 594 IF ( .NOT. ln_rstart .AND. ln_obc_rstart ) THEN 595 IF(lwp) WRITE(numout,*) ' obcini : Warning!! ln_rstart = .F. => we force ln_obc_rstart =.F. ' 596 ln_obc_rstart = .FALSE. 597 ENDIF 598 599 IF ( ln_rstart .AND. ln_obc_rstart ) THEN 600 IF ( inumfbc < nbobc ) THEN 601 IF(lwp) WRITE(numout,*) ' => We read the OBC restart file ' 602 CALL obc_rst_read 603 ELSE 604 IF(lwp) WRITE(numout,*) ' => We DO NOT read the OBC restart file (since all OBCs are fixed) ' 605 ENDIF 606 ! IND4 607 ELSE 588 608 589 609 ! ! ... Initialization to zero of radiation arrays. … … 600 620 swbnd(:,:,:,:) = 0.e0 ; ssbnd(:,:,:,:) = 0.e0 601 621 602 END IF622 END IF 603 623 604 624 ! 7. Control print -
trunk/NEMOGCM/NEMO/OPA_SRC/OBC/obctra.F90
r7 r10 43 43 rtauein, rtauwin, rtaunin, rtausin ! Boundary restoring coefficient for inflow 44 44 45 ! IND4 46 LOGICAL :: ll_fbc 47 ! IND4 48 45 49 !! * Substitutions 46 50 # include "obc_vectopt_loop_substitute.h90" … … 91 95 END IF 92 96 97 ! IND4 98 ! ll_fbc = ( ( kt < nit000+3 ) .AND. .NOT. ln_rstart ) 99 ! IF ( cp_cfg == "indian" .OR. cp_cfg == "bengal" ) THEN 100 ll_fbc = ( ( kt < nit000+30 ) .AND. .NOT. ln_obc_rstart ) 101 ! ENDIF 102 ! IND4 103 93 104 IF( lp_obc_east ) CALL obc_tra_east ( kt ) ! East open boundary 94 105 … … 100 111 101 112 IF( lk_mpp ) THEN !!bug ??? 102 IF( kt >= nit000+3 .AND. ln_rstart ) THEN 113 ! IND4 BUG OBC_RADIA 114 ! IF( kt >= nit000+3 .AND. ln_rstart ) THEN 103 115 CALL lbc_lnk( tsb(:,:,:,jp_tem), 'T', 1. ) 104 116 CALL lbc_lnk( tsb(:,:,:,jp_sal), 'T', 1. ) 105 117 ! END IF 106 118 CALL lbc_lnk( tsa(:,:,:,jp_tem), 'T', 1. ) 107 119 CALL lbc_lnk( tsa(:,:,:,jp_sal), 'T', 1. ) … … 139 151 ! -------------------------------------------------------- 140 152 141 IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbceast ) THEN 153 ! IND4 154 ! IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbceast ) THEN 155 IF ( ll_fbc .OR. lfbceast ) THEN 156 ! IND4 142 157 DO ji = fs_nie0+1, fs_nie1+1 ! Vector opt. 143 158 DO jk = 1, jpkm1 … … 239 254 ! -------------------------------------------------------- 240 255 241 IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbcwest ) THEN 256 ! IND4 257 ! IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbcwest ) THEN 258 IF ( ll_fbc .OR. lfbcwest ) THEN 259 ! IND4 242 260 243 261 DO ji = fs_niw0, fs_niw1 ! Vector opt. … … 338 356 ! -------------------------------------------------------- 339 357 340 IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbcnorth ) THEN 358 ! IND4 359 ! IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbcnorth ) THEN 360 IF ( ll_fbc .OR. lfbcnorth ) THEN 361 ! IND4 341 362 342 363 DO jj = fs_njn0+1, fs_njn1+1 ! Vector opt. … … 440 461 ! -------------------------------------------------------- 441 462 442 IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbcsouth ) THEN 463 ! IND4 464 ! IF( ( kt < nit000+3 .AND. .NOT.ln_rstart ) .OR. lfbcsouth ) THEN 465 IF ( ll_fbc .OR. lfbcsouth ) THEN 466 ! IND4 443 467 444 468 DO jj = fs_njs0, fs_njs1 ! Vector opt.
Note: See TracChangeset
for help on using the changeset viewer.