Changeset 7646 for trunk/NEMOGCM/NEMO/LIM_SRC_2
- Timestamp:
- 2017-02-06T10:25:03+01:00 (7 years ago)
- Location:
- trunk/NEMOGCM/NEMO/LIM_SRC_2
- Files:
-
- 1 deleted
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/LIM_SRC_2/dom_ice_2.F90
r3764 r7646 27 27 ! ! (otherwise = jpj+10 (SH) or -10 (SH) ) 28 28 29 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fs2cor , fcor !: coriolis factor and coeficient30 29 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: covrai !: sine of geographic latitude 31 30 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: area !: surface of grid cell … … 48 47 ierr(:) = 0 49 48 ! 50 ALLOCATE( fs2cor(jpi,jpj) , fcor(jpi,jpj) , & 51 & covrai(jpi,jpj) , area(jpi,jpj) , tms(jpi,jpj) , tmu(jpi,jpj) , & 49 ALLOCATE( covrai(jpi,jpj) , area(jpi,jpj) , tms(jpi,jpj) , tmu(jpi,jpj) , & 52 50 & wght (jpi,jpj,2,2) , STAT=ierr(1) ) 53 51 ! -
trunk/NEMOGCM/NEMO/LIM_SRC_2/iceini_2.F90
r6140 r7646 83 83 CALL ice_run_2 ! read in namelist some run parameters 84 84 ! 85 rdt_ice = nn_fsbc * rdt 85 rdt_ice = nn_fsbc * rdt ! sea-ice time step 86 86 numit = nit000 - 1 87 87 ! -
trunk/NEMOGCM/NEMO/LIM_SRC_2/limdmp_2.F90
r5836 r7646 144 144 145 145 resto_ice(:,:,:) = 0._wp 146 ! Re-calculate the North and South boundary restoring term147 ! because those boundaries may change with the prescribed zoom area.148 146 ! 149 147 irelax = 16 ! width of buffer zone with respect to close boundary … … 156 154 ! REM: if there is no ice in the model and in the data, 157 155 ! no restoring even with non zero resto_ice 158 DO jj = mj0( jpjzoom - 1 + 1), mj1(jpjzoom -1 +irelax)159 zreltim = zdmpmin + zfactor * ( mjg(jj) - jpjzoom + 1)156 DO jj = mj0(1), mj1( irelax) 157 zreltim = zdmpmin + zfactor * mjg(jj) 160 158 resto_ice(:,jj,:) = 1._wp / ( zreltim * 86400._wp ) 161 159 END DO 162 160 163 161 ! North boundary restoring term 164 DO jj = mj0(jpj zoom -1 + jpjglo - irelax), mj1(jpjzoom - 1 +jpjglo)165 zreltim = zdmpmin + zfactor * (jpjglo - ( mjg(jj) - jpjzoom + 1))162 DO jj = mj0(jpjglo - irelax), mj1(jpjglo) 163 zreltim = zdmpmin + zfactor * (jpjglo - mjg(jj)) 166 164 resto_ice(:,jj,:) = 1.e0 / ( zreltim * 86400 ) 167 165 END DO -
trunk/NEMOGCM/NEMO/LIM_SRC_2/limdyn_2.F90
r5123 r7646 87 87 ! --------------------------------------------------- 88 88 89 IF( lk_mpp .OR. lk_mpp_rep) THEN ! mpp: compute over the whole domain89 IF( lk_mpp ) THEN ! mpp: compute over the whole domain 90 90 i_j1 = 1 91 91 i_jpj = jpj -
trunk/NEMOGCM/NEMO/LIM_SRC_2/limistate_2.F90
r5541 r7646 69 69 IF( .NOT. ln_limini ) THEN 70 70 71 CALL eos_fzp( tsn(:,:,1,jp_sal), tfu(:,:) ) ! freezing/melting point of sea water [Cel cius]71 CALL eos_fzp( tsn(:,:,1,jp_sal), tfu(:,:) ) ! freezing/melting point of sea water [Celsius] 72 72 tfu(:,:) = tfu(:,:) * tmask(:,:,1) 73 73 … … 79 79 ENDIF 80 80 ! 81 IF( f cor(ji,jj) >= 0.e0) THEN !-- Northern hemisphere.81 IF( ff_t(ji,jj) >= 0._wp ) THEN !-- Northern hemisphere. 82 82 hicif(ji,jj) = zidto * hginn 83 83 frld(ji,jj) = zidto * alinn + ( 1.0 - zidto ) * 1.0 -
trunk/NEMOGCM/NEMO/LIM_SRC_2/limmsh_2.F90
r3625 r7646 70 70 ENDIF 71 71 72 IF( jphgr_msh == 2 .OR. jphgr_msh == 3 .OR. jphgr_msh == 5 ) &73 & CALL ctl_stop(' Coriolis parameter in LIM not set for f- or beta-plane' )74 75 72 !---------------------------------------------------------- 76 73 ! Initialization of local and some global (common) variables … … 79 76 njeq = INT( jpj / 2 ) !i bug mpp potentiel 80 77 njeqm1 = njeq - 1 81 82 fcor(:,:) = 2. * omega * SIN( gphit(:,:) * rad ) ! coriolis factor at T-point83 78 84 79 !i DO jj = 1, jpj … … 87 82 !i END DO 88 83 89 IF( f cor(1,1) * fcor(1,nlcj) < 0.e0 ) THEN ! local domain include both hemisphere84 IF( ff_t(1,1) * ff_t(1,nlcj) < 0.e0 ) THEN ! local domain include both hemisphere 90 85 l_jeq = .TRUE. 91 86 njeq = 1 92 DO WHILE ( njeq <= jpj .AND. f cor(1,njeq) < 0.e0 )87 DO WHILE ( njeq <= jpj .AND. ff_t(1,njeq) < 0.e0 ) 93 88 njeq = njeq + 1 94 89 END DO 95 90 IF(lwp ) WRITE(numout,*) ' the equator is inside the domain at about njeq = ', njeq 96 ELSEIF( f cor(1,1) < 0.e0 ) THEN91 ELSEIF( ff_t(1,1) < 0.e0 ) THEN 97 92 l_jeq = .FALSE. 98 93 njeq = jpj -
trunk/NEMOGCM/NEMO/LIM_SRC_2/limrhg_2.F90
r5836 r7646 163 163 DO ji = 1 , jpi 164 164 ! only the sinus changes its sign with the hemisphere 165 zsang(ji,jj) = SIGN( 1._wp, f cor(ji,jj) ) * sangvg ! only the sinus changes its sign with the hemisphere165 zsang(ji,jj) = SIGN( 1._wp, ff_t(ji,jj) ) * sangvg ! only the sinus changes its sign with the hemisphere 166 166 ! 167 167 zmasst(ji,jj) = tms(ji,jj) * ( rhosn * hsnm(ji,jj) + rhoic * hicm(ji,jj) ) … … 198 198 & + zmasst(ji,jj-1) * wght(ji,jj,2,1) + zmasst(ji-1,jj-1) * wght(ji,jj,1,1) ) * zusw 199 199 zcorl(ji,jj) = zmass(ji,jj) & 200 & *( f cor(ji,jj ) * wght(ji,jj,2,2) + fcor(ji-1,jj )*wght(ji,jj,1,2) &201 & + f cor(ji,jj-1) * wght(ji,jj,2,1) + fcor(ji-1,jj-1)*wght(ji,jj,1,1) ) * zusw200 & *( ff_t(ji,jj ) * wght(ji,jj,2,2) + ff_t(ji-1,jj )*wght(ji,jj,1,2) & 201 & + ff_t(ji,jj-1) * wght(ji,jj,2,1) + ff_t(ji-1,jj-1)*wght(ji,jj,1,1) ) * zusw 202 202 203 203 ! Wind stress. -
trunk/NEMOGCM/NEMO/LIM_SRC_2/limsbc_2.F90
r6140 r7646 449 449 soce_0(:,:) = soce ! constant SSS and ice salinity used in levitating sea-ice case 450 450 sice_0(:,:) = sice 451 ! 452 IF( cp_cfg == "orca" ) THEN ! decrease ocean & ice reference salinities in the Baltic sea 453 WHERE( 14._wp <= glamt(:,:) .AND. glamt(:,:) <= 32._wp .AND. & 454 & 54._wp <= gphit(:,:) .AND. gphit(:,:) <= 66._wp ) 455 soce_0(:,:) = 4._wp 456 sice_0(:,:) = 2._wp 457 END WHERE 458 ENDIF 451 ! ! decrease ocean & ice reference salinities in the Baltic sea 452 WHERE( 14._wp <= glamt(:,:) .AND. glamt(:,:) <= 32._wp .AND. & 453 & 54._wp <= gphit(:,:) .AND. gphit(:,:) <= 66._wp ) 454 soce_0(:,:) = 4._wp 455 sice_0(:,:) = 2._wp 456 END WHERE 459 457 ! ! embedded sea ice 460 458 IF( nn_ice_embd /= 0 ) THEN ! mass exchanges between ice and ocean (case 1 or 2) set the snow+ice mass … … 473 471 !!gm 474 472 IF( .NOT.ln_linssh ) THEN 475 476 do jk = 1,jpkm1 ! adjust initial vertical scale factors 473 DO jk = 1,jpkm1 ! adjust initial vertical scale factors 477 474 e3t_n(:,:,jk) = e3t_0(:,:,jk)*( 1._wp + sshn(:,:)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 478 475 e3t_b(:,:,jk) = e3t_0(:,:,jk)*( 1._wp + sshb(:,:)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 479 end do476 END DO 480 477 e3t_a(:,:,:) = e3t_b(:,:,:) 481 478 ! Reconstruction of all vertical scale factors at now and before time steps -
trunk/NEMOGCM/NEMO/LIM_SRC_2/limthd_2.F90
r6140 r7646 347 347 ! Tricky trick : add 2 to frld in the Southern Hemisphere 348 348 !-------------------------------------------------------- 349 IF( f cor(1,1) < 0.e0) THEN349 IF( ff_t(1,1) < 0._wp ) THEN 350 350 DO jj = 1, njeqm1 351 351 DO ji = 1, jpi … … 479 479 480 480 !! Fram Strait sea-ice transport (sea-ice + snow) (in ORCA2 = 5 points) 481 IF( iom_use('fram_trans') .and. c p_cfg == "orca" .AND. jp_cfg == 2 ) THEN ! ORCA R2 configuration481 IF( iom_use('fram_trans') .and. cn_cfg == "orca" .AND. nn_cfg == 2 ) THEN ! ORCA R2 configuration 482 482 DO jj = mj0(137), mj1(137) ! B grid 483 483 IF( mj0(jj-1) >= nldj ) THEN -
trunk/NEMOGCM/NEMO/LIM_SRC_2/limtrp_2.F90
r4624 r7646 234 234 !-------------------------------------------------------------------! 235 235 DO jj = 1, jpj 236 zindhe = MAX( 0. e0, SIGN( 1.e0, fcor(1,jj) ) ) ! = 0 for SH, =1 for NH236 zindhe = MAX( 0._wp, SIGN( 1._wp, ff_t(1,jj) ) ) ! = 0 for SH, =1 for NH 237 237 DO ji = 1, jpi 238 238 !
Note: See TracChangeset
for help on using the changeset viewer.