Changeset 237 for trunk/SOURCES/flottab2-0.7.f90
- Timestamp:
- 01/09/19 17:09:26 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SOURCES/flottab2-0.7.f90
r223 r237 122 122 where ( mk_init(:,:).eq.1) ! pose 123 123 flot(:,:) = .False. 124 H(:,:)=max(H(:,:),(10.+sealevel -Bsoc(:,:))*row/ro) ! pour avoir archim=10124 H(:,:)=max(H(:,:),(10.+sealevel_2d(:,:)-Bsoc(:,:))*row/ro) ! pour avoir archim=10 125 125 S(:,:) = Bsoc(:,:) + H(:,:) 126 126 elsewhere … … 175 175 uys1(i,j)=uybar(i,j) 176 176 177 archim = Bsoc(i,j)+H(i,j)*ro/row -sealevel 177 archim = Bsoc(i,j)+H(i,j)*ro/row -sealevel_2d(i,j) 178 178 ! if ((i.eq.132).and.(j.eq.183)) print*,'archim=',archim 179 179 … … 189 189 if (igrdline.eq.1) then ! en cas de grounding line prescrite 190 190 flot(i,j)=.false. 191 H(i,j)=(10.+sealevel -Bsoc(i,j))*row/ro ! pour avoir archim=10191 H(i,j)=(10.+sealevel_2d(i,j)-Bsoc(i,j))*row/ro ! pour avoir archim=10 192 192 new_flot_point(i,j)=.false. 193 193 endif … … 202 202 if (igrdline.eq.1) then ! en cas de grounding line prescrite 203 203 flot(i,j)=.false. 204 H(i,j)=(10.+sealevel -Bsoc(i,j))*row/ro ! pour avoir archim=10204 H(i,j)=(10.+sealevel_2d(i,j)-Bsoc(i,j))*row/ro ! pour avoir archim=10 205 205 new_flot_point(i,j)=.false. 206 206 endif … … 228 228 flot(i,j)=.true. !cdc points ocean sont flot meme sans glace 229 229 H(i,j)=0. 230 S(i,j)=sealevel 230 S(i,j)=sealevel_2d(i,j) !afq -- WARNING: est-ce qu'on veut vraiment mettre S a la valeur locale du niveau marin? 231 231 B(i,j)=S(i,j)-H(i,j) 232 232 endif arch … … 239 239 240 240 surnet=H(i,j)*(1.-ro/row) 241 S(i,j)=surnet+sealevel 241 S(i,j)=surnet+sealevel_2d(i,j) !afq -- WARNING: est-ce qu'on veut vraiment mettre S a la valeur locale du niveau marin? 242 242 B(i,j)=S(i,j)-H(i,j) 243 243 end if … … 246 246 end do 247 247 !$OMP END DO 248 !~ print*,'flottab 2',S(132,183),H(132,183),BSOC(132,183),B(132,183),sealevel249 !~ print*,'flottab 2',flot(132,183),ice(132,183)250 !~ if (S(132,183).LT.sealevel) print*,'BUGGGGGGGGGGGGG !!!!!!!!!!!!!!!!'251 248 252 249 !!$ do i=1,nx … … 262 259 263 260 264 265 261 !----------------------------------------------------------------------- 266 262 !$OMP DO … … 298 294 ! sur le demi noeud condition archim < 100 m 299 295 300 archim=(Bsoc(i,j)+Bsoc(i-1,j))*0.5- sealevel+ro/row*Hmx(i,j)296 archim=(Bsoc(i,j)+Bsoc(i-1,j))*0.5-(sealevel_2d(i,j)+sealevel_2d(i-1,j))*0.5+ro/row*Hmx(i,j) 301 297 gzmx(i,j)=gzmx(i,j).and.(archim.le.100.) 302 298 cotemx(i,j)=gzmx(i,j) … … 337 333 ! sur le demi noeud condition archim > 100 m 338 334 339 archim=(Bsoc(i,j)+Bsoc(i,j-1))*0.5- sealevel+ro/row*Hmy(i,j)335 archim=(Bsoc(i,j)+Bsoc(i,j-1))*0.5-(sealevel_2d(i,j)+sealevel_2d(i,j-1))*0.5+ro/row*Hmy(i,j) 340 336 gzmy(i,j)=gzmy(i,j).and.(archim.le.100.) 341 337 cotemy(i,j)=gzmy(i,j) … … 605 601 ice(:,:)=0 606 602 H(:,:)=0. 607 S(:,:)=H(:,:)*(1.-ro/row) + sealevel 603 S(:,:)=H(:,:)*(1.-ro/row) + sealevel_2d(:,:) 608 604 B(:,:)=S(:,:) - H(:,:) 609 605 end where … … 790 786 flgzmy(smax_i,smax_j)=.false. ; flgzmx(smax_i,smax_j+1)=.false. 791 787 792 if (Smax_.le.sealevel) then 788 if (Smax_.le.sealevel) then ! afq -- WARNING: en fait avec le niveau marin local cest plus complique que ca! 789 !if (Smax_.le.sealevel_2d(i,j)) then ! afq --WARNING: il faudrait regarder point par point sur la tache... 793 790 write(num_tracebug,*)'Attention, une ile avec la surface sous l eau' 794 791 write(num_tracebug,*)'time=',time,' coord:',smax_i,smax_j
Note: See TracChangeset
for help on using the changeset viewer.