Changeset 111
- Timestamp:
- 06/09/17 10:26:41 (7 years ago)
- Location:
- trunk/SOURCES
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SOURCES/3D-physique-gen_mod.f90
r110 r111 490 490 logical,dimension(nx,ny) :: new_flotmy !< pour signaler les points qui deviennent flottantmy entre 2 dtt 491 491 logical,dimension(nx,ny) :: flot_marais !< afq -- vrai si flottant et coince entre points poses 'o' 492 logical,dimension(nx,ny) :: iceberg !< point iceberg 492 493 493 494 ! ===================== File id ========================================= -
trunk/SOURCES/bilan_eau.f90
r102 r111 50 50 51 51 sum_H = sum(H(2:nx-1,2:ny-1),mask=ice(2:nx-1,2:ny-1)==1) 52 diff_H = diff_H + (sum_H - sum_H_old) ! on calcul la variation de volume à chaque dt 52 53 if (nt.eq.1) then 54 diff_H=0. 55 else 56 diff_H = diff_H + (sum_H - sum_H_old) ! on calcul la variation de volume a chaque dt 57 endif 53 58 54 59 diff_H_2D(2:nx-1,2:ny-1)=H(2:nx-1,2:ny-1)-H_beau_old(2:nx-1,2:ny-1) -
trunk/SOURCES/calving_frange.f90
r102 r111 399 399 !cdc 1m H(i,j)=min(1.,max(0.,(sealevel - Bsoc(i,j))*row/ro-0.01)) 400 400 H(i,j)=0. 401 S(i,j)=H(i,j)*(1.-ro/row) + sealevel 402 B(i,j)=S(i,j) - H(i,j) 401 403 endif 402 404 … … 405 407 end do 406 408 end do 409 410 ! on met en calving les points detectes iceberg : 411 where (iceberg(:,:)) 412 ice(:,:)=0 413 H(:,:)=0. 414 S(:,:)=H(:,:)*(1.-ro/row) + sealevel 415 B(:,:)=S(:,:) - H(:,:) 416 endwhere 407 417 408 418 where (front.le.0) -
trunk/SOURCES/flottab2-0.7.f90
r110 r111 49 49 integer,dimension(0:n_ta_max) :: compt !< contient les equivalence entre les taches 50 50 integer,dimension(0:n_ta_max) :: nb_pts_tache !< indique le nombre de points par tache 51 logical,dimension(0:n_ta_max) :: iceberg !< T si iceberg, F si calotte posee51 logical,dimension(0:n_ta_max) :: iceberg1D !< T si iceberg, F si calotte posee 52 52 53 53 logical,dimension(nx,ny) :: mask_tache_ij !< masque de travail … … 153 153 frontfacex(:,:)=0 154 154 frontfacey(:,:)=0 155 isolx(:,:)=. FALSE.156 isoly(:,:)=. FALSE.155 isolx(:,:)=.false. 156 isoly(:,:)=.false. 157 157 cotemx(:,:)=.false. 158 158 cotemy(:,:)=.false. 159 159 boost=.false. 160 iceberg(:,:)=.false. 160 161 !$OMP END WORKSHARE 161 162 … … 643 644 do j=3,ny-2 644 645 do i=3,nx-2 645 test1: if (.not.iceberg (table_out(i,j))) then ! on est pas sur un iceberg646 test1: if (.not.iceberg1D(table_out(i,j))) then ! on est pas sur un iceberg 646 647 if (nb_pts_tache(table_out(i,j)).ge.1) then 647 648 ice(i,j)=1 … … 696 697 endif test2 697 698 end if ! endif deplace 698 699 else ! on est sur un iceberg ! test1 700 ice(i,j)=0 701 h(i,j)=0. !1. afq, we should put everything in calving! 702 surnet=H(i,j)*(1.-ro/row) 703 S(i,j)=surnet+sealevel 704 B(i,j)=S(i,j)-H(i,j) 699 !cdc transfere dans calving : 700 else ! on est sur un iceberg ! test1 701 iceberg(i,j)=iceberg1D(table_out(i,j)) 702 !~ ice(i,j)=0 703 !~ h(i,j)=0. !1. afq, we should put everything in calving! 704 !~ surnet=H(i,j)*(1.-ro/row) 705 !~ S(i,j)=surnet+sealevel 706 !~ B(i,j)=S(i,j)-H(i,j) 705 707 706 708 endif test1 … … 740 742 !read(5,*) 741 743 742 call determin_front743 !call determin_front_tof ! version simplifiee744 !call determin_front ! cette version ne conserve pas la masse !!! 745 call determin_front_tof ! version simplifiee 744 746 745 747 call determin_marais … … 777 779 !$OMP WORKSHARE 778 780 table_out(:,:) = 0 779 iceberg (:) = .true.781 iceberg1D(:) = .true. 780 782 icetrim (:) = .true. 781 783 nb_pts_tache(:) = 0 … … 810 812 !si ce noeud est posé, alors la tache n'est pas un iceberg et iceberg=.F. 811 813 if (.not.FLOT(I,J)) then 812 iceberg (label)=.false.814 iceberg1D(label)=.false. 813 815 endif 814 816 … … 835 837 !si ce noeud est posé, alors la ache n'est pas un iceberg et iceberg=.F. 836 838 if (.not.FLOT(I,J)) then 837 iceberg (label_max)=.false.839 iceberg1D(label_max)=.false. 838 840 endif 839 841 … … 867 869 if (compt(indice).lt.0) then 868 870 compt(indice)= compt(-vartemp) 869 if (.not.iceberg (indice)) iceberg(-vartemp)=.false.871 if (.not.iceberg1D(indice)) iceberg1D(-vartemp)=.false. 870 872 if (.not.icetrim(indice)) icetrim(-vartemp)=.false. 871 873 endif -
trunk/SOURCES/steps_time_loop.f90
r102 r111 110 110 !------------------------------------------------------------------ 111 111 if ((mod(abs(TIME),NDISP*1.).lt.dtmin).or.(isynchro.eq.1).or.(nt.eq.1)) then 112 113 call shortoutput() 114 112 call bilan_eau 113 call shortoutput 115 114 endif 116 115
Note: See TracChangeset
for help on using the changeset viewer.