Changeset 52 for branches


Ignore:
Timestamp:
02/23/16 15:30:13 (8 years ago)
Author:
dumas
Message:

Merge branche iLOVECLIM sur rev 51

Location:
branches/iLoveclim
Files:
12 edited
1 copied

Legend:

Unmodified
Added
Removed
  • branches/iLoveclim

  • branches/iLoveclim/INPUT/ANTEIS1/.gmtcommands4

    r4 r52  
    11# GMT common arguments shelf 
     2-R1/141/1/141 
    23EOF 
  • branches/iLoveclim/SOURCES/Ant40_files/bmelt-ant-regions_mod.f90

    r4 r52  
    1414MODULE  BMELT_ANT_REGIONS         ! cat juillet 2005 
    1515 
    16        USE module3D_phy 
    17  
    18  
    19 implicit none 
    20  
    21 REAL,dimension(nx,ny) ::  bmgrz       !< fusion basale a la grounding zone 
    22 real,dimension(nx,ny) ::  bmshelf     !< fusion basale sous shelf 
    23  
    24 REAL,dimension(nx,ny) :: dist_talu    !< distance du point au talu continental 
    25 REAL,dimension(nx,ny) :: typeshelf    !< Type de shelf Ronne->1 Ross ->2 .... 
    26                                       !< utilises pour moduler la fusion sous le shelf 
    27 integer, dimension(10) :: region      !< pour écrire dans le fichier param 
    28 character(len=30),dimension(10) :: regname !< nom des régions  
    29 real :: bsupshelf 
    30 integer :: grd                        !< pour une sortie  
    31  
    32 real :: bmelt_Ross,bmgrz_Ross         !< fusion basale Ross 
    33 real :: bmelt_FRis,bmgrz_FRis         !< fusion basale filchner-Ronne ice shelf 
    34 real :: bmelt_Amery,bmgrz_Amery       !< Amery ice shelves 
    35 real :: bmelt_PIG,bmgrz_PIG           !< Pine Island glacier 
    36 real :: bmelt_Pen,bmgrz_Pen           !< Petits ice shelves Peninsule 
    37 real :: bmelt_other,bmgrz_other       !< Autre ice shelves 
    38 real :: bmelt_talus,bmgrz_talus       !< Au dela du talus continental 
     16  USE module3D_phy 
     17 
     18 
     19  implicit none 
     20 
     21  REAL,dimension(nx,ny) ::  bmgrz       !< fusion basale a la grounding zone 
     22  real,dimension(nx,ny) ::  bmshelf     !< fusion basale sous shelf 
     23 
     24  REAL,dimension(nx,ny) :: dist_talu    !< distance du point au talu continental 
     25  REAL,dimension(nx,ny) :: typeshelf    !< Type de shelf Ronne->1 Ross ->2 .... 
     26  !< utilises pour moduler la fusion sous le shelf 
     27  integer, dimension(10) :: region      !< pour écrire dans le fichier param 
     28  character(len=30),dimension(10) :: regname !< nom des régions  
     29  real :: bsupshelf 
     30  integer :: grd                        !< pour une sortie  
     31 
     32  real :: bmelt_Ross,bmgrz_Ross         !< fusion basale Ross 
     33  real :: bmelt_FRis,bmgrz_FRis         !< fusion basale filchner-Ronne ice shelf 
     34  real :: bmelt_Amery,bmgrz_Amery       !< Amery ice shelves 
     35  real :: bmelt_PIG,bmgrz_PIG           !< Pine Island glacier 
     36  real :: bmelt_Pen,bmgrz_Pen           !< Petits ice shelves Peninsule 
     37  real :: bmelt_other,bmgrz_other       !< Autre ice shelves 
     38  real :: bmelt_talus,bmgrz_talus       !< Au dela du talus continental 
     39  real :: bmelt_coef                    !< Coef pour corriger les valeurs std de bmelt (lu dans namelist) 
    3940 
    4041CONTAINS 
    41 !------------------------------------------------------------------------------- 
    42 subroutine init_bmelt 
    43  
    44  
    45  
    46 ! Cette routine fait l'initialisation pour la fusion basale. 
    47 ! Elle est appelée par inputfile-vec-0.5.f90 
    48  
    49  
    50 namelist/bmelt_ant_reg/bmelt_Ross,bmgrz_Ross,bmelt_FRis,bmgrz_FRis,  &  
    51                        bmelt_Amery,bmgrz_Amery,bmelt_PIG,bmgrz_PIG,  & 
    52                        bmelt_Pen,bmgrz_Pen,bmelt_other,bmgrz_other,  &        
    53                        bmelt_talus,bmgrz_talus       
    54  
    55  
    56 rewind(num_param)        ! pour revenir au debut du fichier param_list.dat 
    57 read(num_param,bmelt_ant_reg) 
    58  
    59  
    60 !    ecriture dans le fichier parametres 
    61      write(num_rep_42,*)'fusion basale sous les ice shelves : bmelt-ant-regions_mod' 
    62      write(num_rep_42,*)'----------------------------------------------------------' 
    63  
    64 ! lecture du fichier contenant les distances au talu continental (m) 
    65       open(88,file=TRIM(DIRNAMEINP)//'distance_talu-40km.xy') 
    66  
    67       do j=1,ny 
    68          do i=1,nx 
    69             read(88,'(i3,1x,i3,1x,f10.2)') k,k,dist_talu(i,j) 
    70          enddo 
    71       enddo 
    72       close(88) 
    73  
    74 ! les bords de la grille sont mis a dist_talus=0 de force 
    75  
    76  
    77       dist_talu(1,:)=0.   !a gauche 
    78       dist_talu(2,:)=0. 
    79        
    80       dist_talu(nx-1,:)=0. !  a droite  
    81       dist_talu(nx,:)=0.   
    82       
    83       dist_talu(:,1)=0.    ! en bas    
    84       dist_talu(:,2)=0. 
    85  
    86       dist_talu(:,ny-1)=0.    ! en haut 
    87       dist_talu(:,ny)=0. 
    88  
    89  
    90       debug_3D(:,:,32)=dist_talu(:,:) 
    91  
    92 ! lecture du fichier contenant les types de shelves 
    93 !  Ronne-Flichner ->1, Ross -> 2 , Amery -> 3,  
    94 !  PIG-> 4, les petits shelves au dessus de PIG -> 5 
    95  
    96       open(88,file=TRIM(DIRNAMEINP)//'numer-ice-shelves-juil07.dat',status='OLD') 
    97       typeshelf(:,:)=100 
    98       do k=1,nx*ny 
    99         read(88,*,end=36) i,j,typeshelf(i,j) 
    100       end do 
    101 36      close(88) 
    102  
    103  
    104  
    105   region(:)=0 
    106   regname(1)='Ronne-Fichner' 
    107   regname(2)='Ross' 
    108   regname(3)='Amery' 
    109   regname(4)='Pig' 
    110   regname(5)='Petits ice shelves peninsule' 
    111   regname(6)='autres ice shelves' 
    112   regname(7)='Au dela du talus continental' 
    113   
    114 bms_init:    do j=1,ny 
    115          do i=1,nx 
    116  
    117 talus:    if (dist_talu(i,j).GT.5000.) then 
    118             if (nint(typeshelf(i,j)).eq.1) then ! Ronne-Filchner FRis 
    119                     bmshelf(i,j)=bmelt_FRis          
    120                     bmgrz(i,j)=bmgrz_FRis          
    121  
    122  
    123                if (region(1).eq.0) then          ! pour l'impression dans 42 
    124                   region(1)=1 
    125                   write(num_rep_42,80)regname(1),bmshelf(i,j),bmgrz(i,j) 
    126                endif 
    127  
    128 80    format(a32,' bmshelf=',f8.4,'  bmgrz=',f8.4) 
    129  
    130             else  if (nint(typeshelf(i,j)).eq.2) then ! Ross 
    131                bmshelf(i,j)=bmelt_Ross   
    132                bmgrz(i,j)=bmgrz_Ross       
    133  
    134                if (region(2).eq.0) then 
    135                   region(2)=1 
    136                   write(num_rep_42,80)regname(2),bmshelf(i,j),bmgrz(i,j) 
    137                endif 
    138  
    139  
    140             else  if (nint(typeshelf(i,j)).eq.3) then ! Amery 
    141                     bmshelf(i,j)=bmelt_Amery    
    142                     bmgrz(i,j)=bmgrz_Amery           
    143                if (region(3).eq.0) then 
    144                   region(3)=1 
    145                   write(num_rep_42,80)regname(3),bmshelf(i,j),bmgrz(i,j) 
    146                endif 
    147  
    148  
    149             else  if (nint(typeshelf(i,j)).eq.4) then ! Pig 
    150                     bmshelf(i,j)=bmelt_PIG   
    151                     bmgrz(i,j)=bmgrz_PIG        
    152  
    153                if (region(4).eq.0) then 
    154                   region(4)=1 
    155                   write(num_rep_42,80)regname(4),bmshelf(i,j),bmgrz(i,j) 
    156                endif 
    157  
    158             else  if (nint(typeshelf(i,j)).eq.5) then ! petits shelves peninsule 
    159                     bmshelf(i,j)=bmelt_Pen      
    160                     bmgrz(i,j)=bmgrz_Pen        
    161  
    162                if (region(5).eq.0) then 
    163                   region(5)=1 
    164                   write(num_rep_42,80)regname(5),bmshelf(i,j),bmgrz(i,j) 
    165                endif 
    166  
    167  
    168             else ! 
    169                     typeshelf(i,j)=6 
    170                     bmshelf(i,j)=bmelt_other      
    171                     bmgrz(i,j)=bmgrz_other        
    172  
    173                if (region(6).eq.0) then 
    174                   region(6)=1 
    175                   write(num_rep_42,80)regname(6),bmshelf(i,j),bmgrz(i,j) 
    176                endif 
    177  
    178  
    179             endif 
    180  
    181  
    182        else   ! au dela du talus continental 
    183  
    184                     bmshelf(i,j)=bmelt_talus   
    185                     bmgrz(i,j)=bmgrz_talus    
    186   
    187                if (region(7).eq.0) then 
    188                   region(7)=1 
    189                   write(num_rep_42,80)regname(7),bmshelf(i,j),bmgrz(i,j) 
    190                endif 
    191  
    192  
    193             endif talus   ! fin du test sur dist_talus 
    194  
    195          enddo 
    196       enddo bms_init 
    197  
    198       debug_3D(:,:,33)=typeshelf(:,:) 
    199       debug_3D(:,:,34)=bmshelf(:,:) 
    200       return 
    201       end subroutine init_bmelt 
    202  
    203 !________________________________________________________________________________ 
    204 subroutine bmeltshelf 
    205  
    206  
    207 ! cette routine calcule la fusion basale proprement dite 
    208  
    209 integer :: ngr           ! nombre de voisins flottants 
    210 real :: coef_talus       ! pour ne pas changer la fusion au dessus de l'ocean profond 
     42  !------------------------------------------------------------------------------- 
     43  subroutine init_bmelt 
     44 
     45 
     46    ! Cette routine fait l'initialisation pour la fusion basale. 
     47    ! Elle est appelée par inputfile-vec-0.5.f90 
     48 
     49 
     50    namelist/bmelt_ant_reg/bmelt_Ross,bmgrz_Ross,bmelt_FRis,bmgrz_FRis,  &  
     51         bmelt_Amery,bmgrz_Amery,bmelt_PIG,bmgrz_PIG,  & 
     52         bmelt_Pen,bmgrz_Pen,bmelt_other,bmgrz_other,  &        
     53         bmelt_talus,bmgrz_talus,bmelt_coef       
     54 
     55 
     56    rewind(num_param)        ! pour revenir au debut du fichier param_list.dat 
     57    read(num_param,bmelt_ant_reg) 
     58 
     59    ! formats pour les ecritures dans 42 
     60428 format(A) 
     61 
     62    write(num_rep_42,428)'!___________________________________________________________'  
     63    write(num_rep_42,428) '&bmelt-ant-regions                                         ' 
     64    write(num_rep_42,*) 
     65    write(num_rep_42,*) 'bmelt_Ross      = ',bmelt_Ross  
     66    write(num_rep_42,*) 'bmgrz_Ross      = ',bmgrz_Ross 
     67    write(num_rep_42,*) 'bmelt_FRis      = ',bmelt_FRis  
     68    write(num_rep_42,*) 'bmgrz_FRis      = ',bmgrz_FRis 
     69    write(num_rep_42,*) 'bmelt_Amery     = ',bmelt_Amery  
     70    write(num_rep_42,*) 'bmgrz_Amery     = ',bmgrz_Amery 
     71    write(num_rep_42,*) 'bmelt_PIG       = ',bmelt_PIG  
     72    write(num_rep_42,*) 'bmgrz_PIG       = ',bmgrz_PIG 
     73    write(num_rep_42,*) 'bmelt_Pen       = ',bmelt_Pen 
     74    write(num_rep_42,*) 'bmgrz_Pen       = ',bmgrz_Pen 
     75    write(num_rep_42,*) 'bmelt_other     = ',bmelt_other  
     76    write(num_rep_42,*) 'bmgrz_other     = ',bmgrz_other 
     77    write(num_rep_42,*) 'bmelt_talus     = ',bmelt_talus  
     78    write(num_rep_42,*) 'bmgrz_talus     = ',bmgrz_talus 
     79    write(num_rep_42,*) 'bmelt_coef      = ',bmelt_coef 
     80    write(num_rep_42,*)'/'                             
     81    write(num_rep_42,428) '! bmelt_Ross & bmgrz_Ross    :  fonte basale secteur Ross' 
     82    write(num_rep_42,428) '! bmelt_FRis & bmgrz_FRis    :  fonte basale secteur Filchner Ronne' 
     83    write(num_rep_42,428) '! bmelt_Amery & bmgrz_Amery  :  fonte basale secteur Amery' 
     84    write(num_rep_42,428) '! bmelt_PIG & bmgrz_PIG      :  fonte basale secteur Pine Island' 
     85    write(num_rep_42,428) '! bmelt_Pen & bmgrz_Pen      :  fonte basale secteur Peninsule' 
     86    write(num_rep_42,428) '! bmelt_other & bmgrz_other  :  fonte basale autres secteurs' 
     87    write(num_rep_42,428) '! bmelt_talus & bmgrz_talus  :  fonte basale apres talus cont' 
     88    write(num_rep_42,428) '! bmelt_coef                 :  coef fonte (1 pour conserver val)' 
     89    write(num_rep_42,*) 
     90 
     91 
     92    !    ecriture dans le fichier parametres 
     93    write(num_rep_42,*)'fusion basale sous les ice shelves : bmelt-ant-regions_mod' 
     94    write(num_rep_42,*)'----------------------------------------------------------' 
     95 
     96 
     97    ! lecture du fichier contenant les distances au talu continental (m) 
     98    open(88,file=TRIM(DIRNAMEINP)//'distance_talu-40km.xy') 
     99 
     100    do j=1,ny 
     101       do i=1,nx 
     102          read(88,'(i3,1x,i3,1x,f10.2)') k,k,dist_talu(i,j) 
     103       enddo 
     104    enddo 
     105    close(88) 
     106 
     107    ! les bords de la grille sont mis a dist_talus=0 de force 
     108 
     109 
     110    dist_talu(1,:)=0.   !a gauche 
     111    dist_talu(2,:)=0. 
     112 
     113    dist_talu(nx-1,:)=0. !  a droite  
     114    dist_talu(nx,:)=0.   
     115 
     116    dist_talu(:,1)=0.    ! en bas    
     117    dist_talu(:,2)=0. 
     118 
     119    dist_talu(:,ny-1)=0.    ! en haut 
     120    dist_talu(:,ny)=0. 
     121 
     122 
     123    debug_3D(:,:,32)=dist_talu(:,:) 
     124 
     125    ! lecture du fichier contenant les types de shelves Ronne-Flichner 
     126    !  ->1, Ross -> 2 , Amery -> 3, PIG-> 4, les petits shelves au dessus de PIG -> 5 
     127 
     128    open(88,file=TRIM(DIRNAMEINP)//'numer-ice-shelves-juil07.dat',status='OLD') 
     129    typeshelf(:,:)=100 
     130    do k=1,nx*ny 
     131       read(88,*,end=36) i,j,typeshelf(i,j) 
     132    end do 
     13336  close(88) 
     134 
     135 
     136 
     137    region(:)=0 
     138    regname(1)='Ronne-Fichner' 
     139    regname(2)='Ross' 
     140    regname(3)='Amery' 
     141    regname(4)='Pig' 
     142    regname(5)='Petits ice shelves peninsule' 
     143    regname(6)='autres ice shelves' 
     144    regname(7)='Au dela du talus continental' 
     145 
     146    bms_init:    do j=1,ny 
     147       do i=1,nx 
     148 
     149          talus:    if (dist_talu(i,j).GT.5000.) then 
     150             if (nint(typeshelf(i,j)).eq.1) then ! Ronne-Filchner FRis 
     151                bmshelf(i,j)=bmelt_FRis          
     152                bmgrz(i,j)=bmgrz_FRis          
     153 
     154 
     155                if (region(1).eq.0) then          ! pour l'impression dans 42 
     156                   region(1)=1 
     157                   write(num_rep_42,80)regname(1),bmshelf(i,j),bmgrz(i,j) 
     158                endif 
     159 
     16080              format(a32,' bmshelf=',f8.4,'  bmgrz=',f8.4) 
     161 
     162             else  if (nint(typeshelf(i,j)).eq.2) then ! Ross 
     163                bmshelf(i,j)=bmelt_Ross   
     164                bmgrz(i,j)=bmgrz_Ross       
     165 
     166                if (region(2).eq.0) then 
     167                   region(2)=1 
     168                   write(num_rep_42,80)regname(2),bmshelf(i,j),bmgrz(i,j) 
     169                endif 
     170 
     171 
     172             else  if (nint(typeshelf(i,j)).eq.3) then ! Amery 
     173                bmshelf(i,j)=bmelt_Amery    
     174                bmgrz(i,j)=bmgrz_Amery           
     175                if (region(3).eq.0) then 
     176                   region(3)=1 
     177                   write(num_rep_42,80)regname(3),bmshelf(i,j),bmgrz(i,j) 
     178                endif 
     179 
     180 
     181             else  if (nint(typeshelf(i,j)).eq.4) then ! Pig 
     182                bmshelf(i,j)=bmelt_PIG   
     183                bmgrz(i,j)=bmgrz_PIG        
     184 
     185                if (region(4).eq.0) then 
     186                   region(4)=1 
     187                   write(num_rep_42,80)regname(4),bmshelf(i,j),bmgrz(i,j) 
     188                endif 
     189 
     190             else  if (nint(typeshelf(i,j)).eq.5) then ! petits shelves peninsule 
     191                bmshelf(i,j)=bmelt_Pen      
     192                bmgrz(i,j)=bmgrz_Pen        
     193 
     194                if (region(5).eq.0) then 
     195                   region(5)=1 
     196                   write(num_rep_42,80)regname(5),bmshelf(i,j),bmgrz(i,j) 
     197                endif 
     198 
     199 
     200             else ! 
     201                typeshelf(i,j)=6 
     202                bmshelf(i,j)=bmelt_other      
     203                bmgrz(i,j)=bmgrz_other        
     204 
     205                if (region(6).eq.0) then 
     206                   region(6)=1 
     207                   write(num_rep_42,80)regname(6),bmshelf(i,j),bmgrz(i,j) 
     208                endif 
     209 
     210 
     211             endif 
     212 
     213 
     214          else   ! au dela du talus continental 
     215 
     216             bmshelf(i,j)=bmelt_talus   
     217             bmgrz(i,j)=bmgrz_talus    
     218 
     219             if (region(7).eq.0) then 
     220                region(7)=1 
     221                write(num_rep_42,80)regname(7),bmshelf(i,j),bmgrz(i,j) 
     222             endif 
     223 
     224 
     225          endif talus   ! fin du test sur dist_talus 
     226 
     227       enddo 
     228    enddo bms_init 
     229 
     230    bmshelf(:,:)=bmshelf(:,:)*bmelt_coef 
     231    bmgrz(:,:)=bmgrz(:,:)*bmelt_coef 
     232    debug_3D(:,:,33)=typeshelf(:,:) 
     233    debug_3D(:,:,34)=bmshelf(:,:) 
     234    return 
     235  end subroutine init_bmelt 
     236 
     237  !________________________________________________________________________________ 
     238  subroutine bmeltshelf 
     239 
     240 
     241    ! cette routine calcule la fusion basale proprement dite 
     242 
     243    integer :: ngr           ! nombre de voisins flottants 
     244    real :: coef_talus       ! pour ne pas changer la fusion au dessus de l'ocean profond 
    211245 
    212246    do j=2,ny-1 
    213       do i=2,nx-1 
    214   
    215 talus_nochange : if (typeshelf(i,j).lt.10) then  
    216            coef_talus = coefbmshelf 
    217         else 
    218            coef_talus = 1         ! pas de changement au dela du talus continental 
    219         endif talus_nochange 
    220  
    221  
    222 shelf:    if (flot(i,j)) then    ! partie flottante 
    223  
    224             bmelt(i,j)=coef_talus*bmshelf(i,j) 
    225  
    226 ! bloc bsupshelf à enlever 
    227 !                  if (time.gt.5000.) then 
    228 !                     bmelt(i,j)=bmelt(i,j)+bsupshelf 
    229 !                  endif     
    230  
    231  
    232  
    233             if (fbm(i,j)) then  
    234                bmelt(i,j)=coef_talus*bmgrz(i,j) 
    235             endif    
    236  
    237 !                  if (time.gt.5000.) then 
    238 !                     bmelt(i,j)=bmelt(i,j)+bsupshelf 
    239 !                  endif     
    240  
    241 ! ATTENTION le bloc suivant sert a determiner la fusion basale d'equilibre 
    242 ! pour les shelves stationnaires 
    243  
    244   if (igrdline.eq.1) then 
    245      corrbmelt(i,j)=hdot(i,j)+bmelt(i,j)   ! le bmelt d'equilibre 
    246      debug_3D(i,j,28)=corrbmelt(i,j) 
    247   endif 
    248  
    249  
    250         else                   ! point posé, on compte le nombre de voisins flottants 
    251            ngr=0 
    252            if (flot(i+1,j)) ngr=ngr+1 
    253            if (flot(i-1,j)) ngr=ngr+1 
    254            if (flot(i,j+1)) ngr=ngr+1 
    255            if (flot(i,j-1)) ngr=ngr+1 
    256  
    257 !   la fusion des points limites est une combinaison entre valeur posée et valeur flottante 
    258 !   en fonction du nombre de points flottants 
    259  
    260            bmelt(i,j)= ngr/4.*bmgrz(i,j)*coef_talus+(1.-ngr/4.)*bmelt(i,j) 
    261           
    262  
    263         endif shelf 
    264  
    265       end do  
     247       do i=2,nx-1 
     248 
     249          talus_nochange : if (typeshelf(i,j).lt.10) then  
     250             coef_talus = coefbmshelf 
     251          else 
     252             coef_talus = 1         ! pas de changement au dela du talus continental 
     253          endif talus_nochange 
     254 
     255 
     256          shelf:    if (flot(i,j)) then    ! partie flottante 
     257 
     258             bmelt(i,j)=coef_talus*bmshelf(i,j) 
     259 
     260             ! bloc bsupshelf à enlever 
     261             !                  if (time.gt.5000.) then 
     262             !                     bmelt(i,j)=bmelt(i,j)+bsupshelf 
     263             !                  endif     
     264 
     265 
     266 
     267             if (fbm(i,j)) then  
     268                bmelt(i,j)=coef_talus*bmgrz(i,j) 
     269             endif 
     270 
     271             !                  if (time.gt.5000.) then 
     272             !                     bmelt(i,j)=bmelt(i,j)+bsupshelf 
     273             !                  endif     
     274 
     275             ! ATTENTION le bloc suivant sert a determiner la fusion basale d'equilibre 
     276             ! pour les shelves stationnaires 
     277 
     278             if (igrdline.eq.1) then 
     279                corrbmelt(i,j)=hdot(i,j)+bmelt(i,j)   ! le bmelt d'equilibre 
     280                debug_3D(i,j,28)=corrbmelt(i,j) 
     281             endif 
     282 
     283 
     284          else                   ! point posé, on compte le nombre de voisins flottants 
     285             ngr=0 
     286             if (flot(i+1,j)) ngr=ngr+1 
     287             if (flot(i-1,j)) ngr=ngr+1 
     288             if (flot(i,j+1)) ngr=ngr+1 
     289             if (flot(i,j-1)) ngr=ngr+1 
     290 
     291             !   la fusion des points limites est une combinaison entre valeur posée et valeur flottante 
     292             !   en fonction du nombre de points flottants 
     293 
     294             bmelt(i,j)= ngr/4.*bmgrz(i,j)*coef_talus+(1.-ngr/4.)*bmelt(i,j) 
     295 
     296 
     297          endif shelf 
     298 
     299       end do 
    266300    end do 
    267301 
    268 ! les bords de la grille sont mis a dist_talus=0 de force 
    269 ! attention, pourrait poser des problemes avec AGRIF 
    270  
    271       bmelt(1,:)=bmelt_talus   !a gauche 
    272       bmelt(2,:)=bmelt_talus 
    273        
    274       bmelt(nx-1,:)=bmelt_talus !  a droite  
    275       bmelt(nx,:)=bmelt_talus   
    276       
    277       bmelt(:,1)=bmelt_talus    ! en bas    
    278       bmelt(:,2)=bmelt_talus 
    279  
    280       bmelt(:,ny-1)=bmelt_talus    ! en haut 
    281       bmelt(:,ny)=bmelt_talus 
    282  
    283  
    284  
    285 if (igrdline.eq.1) then 
    286     bmelt(:,:)=0.      ! hdot donne alors le -bmelt 
    287 endif 
    288  
    289 ! ecriture des bmelt pour en faire des statistiques 
    290 !-------------------------------------------------- 
    291 !open(144,file='bmelt-test') 
    292 !do j=1,ny 
    293 !   do i=1,nx 
    294 !      if (fbm(i,j)) then 
    295 !         grd=1 
    296 !      else 
    297 !         grd=0 
    298 !      endif 
    299 !      if ((flot(i,j)).and.(H(i,j).gt.1.)) then 
    300 !         write(144,999) i,j,grd,nint(typeshelf(i,j)), &  
    301 !              bmelt(i,j),bmgrz(i,j),bmshelf(i,j),hdot(i,j),dist_talu(i,j) 
    302 !      endif 
    303 !   end do 
    304 !end do 
    305 !999 format(4(i0,2x),5(e12.3,2x)) 
    306 !close(144) 
     302    ! les bords de la grille sont mis a dist_talus=0 de force 
     303    ! attention, pourrait poser des problemes avec AGRIF 
     304 
     305    bmelt(1,:)=bmelt_talus   !a gauche 
     306    bmelt(2,:)=bmelt_talus 
     307 
     308    bmelt(nx-1,:)=bmelt_talus !  a droite  
     309    bmelt(nx,:)=bmelt_talus   
     310 
     311    bmelt(:,1)=bmelt_talus    ! en bas    
     312    bmelt(:,2)=bmelt_talus 
     313 
     314    bmelt(:,ny-1)=bmelt_talus    ! en haut 
     315    bmelt(:,ny)=bmelt_talus 
     316 
     317 
     318 
     319    if (igrdline.eq.1) then 
     320       bmelt(:,:)=0.      ! hdot donne alors le -bmelt 
     321    endif 
     322 
     323    ! ecriture des bmelt pour en faire des statistiques 
     324    !-------------------------------------------------- 
     325    !open(144,file='bmelt-test') 
     326    !do j=1,ny 
     327    !   do i=1,nx 
     328    !      if (fbm(i,j)) then 
     329    !         grd=1 
     330    !      else 
     331    !         grd=0 
     332    !      endif 
     333    !      if ((flot(i,j)).and.(H(i,j).gt.1.)) then 
     334    !         write(144,999) i,j,grd,nint(typeshelf(i,j)), &  
     335    !              bmelt(i,j),bmgrz(i,j),bmshelf(i,j),hdot(i,j),dist_talu(i,j) 
     336    !      endif 
     337    !   end do 
     338    !end do 
     339    !999 format(4(i0,2x),5(e12.3,2x)) 
     340    !close(144) 
    307341 
    308342    return 
    309     end subroutine  bmeltshelf 
     343  end subroutine  bmeltshelf 
    310344 
    311345 
  • branches/iLoveclim/SOURCES/Ant40_files/lect-anteis_mod.f90

    r35 r52  
    242242!    close(88) 
    243243 
    244     call lect_input(1,'ghf',1,ghf,ghf_fich,file_ncdf)    ! socle 
    245  
    246  
     244    call lect_input(1,'ghf',1,ghf,ghf_fich,file_ncdf) 
    247245 
    248246    ! pour passer les flux des mW/m2 au J/m2/an       
  • branches/iLoveclim/SOURCES/Fichiers-parametres/anteis1_LISTE-VAR-NETCDF.dat

    r35 r52  
    118118Acc              
    11911911       
    120 1       4       1                                
     1201       1       1                                
    121121----------------------------------------------------------- 
    122122Abl              
  • branches/iLoveclim/SOURCES/GrIce2sea_files/climat_GrIce2sea_years_perturb_mod.f90

    r45 r52  
    100100 
    101101  namelist/clim_smb_T_gen/smb_file,coef_smb_unit,temp_annual_file 
    102  
     102  namelist/clim_snap/nb_snap,time_depart_snaps,ecart_snap,file_smb_snap,massb_time 
    103103 
    104104428 format(A) 
     
    118118  smb_file  = trim(dirnameinp)//trim(smb_file) 
    119119 
    120   call Read_Ncdf_var('z',smb_file,tab) 
     120  call Read_Ncdf_var('smb',smb_file,tab) 
    121121 
    122122!  call lect_input(3,'smb',1,bm,smb_file,trim(dirnameinp)//trim(runname)//'.nc') 
     
    145145  temp_annual_file = trim(dirnameinp)//trim(temp_annual_file) 
    146146 
    147   call Read_Ncdf_var('z',temp_annual_file,tab) 
     147  call Read_Ncdf_var('Tann',temp_annual_file,tab) 
    148148  Tann(:,:)  = tab(:,:) 
    149149!  call lect_input(3,'Tann',1,Tann,temp_annual_file,trim(dirnameinp)//trim(runname)//'.nc') 
     
    155155  ta0(:,:)   = Tann(:,:) 
    156156  Tjuly(:,:) = Tann(:,:) 
    157  
    158  
    159  
    160 !lecture namelist  
    161  
    162   namelist/clim_snap/nb_snap,time_depart_snaps,ecart_snap,file_smb_snap,massb_time 
    163157 
    164158  rewind(num_param)        ! pour revenir au debut du fichier param_list.dat 
  • branches/iLoveclim/SOURCES/Hemin40_files/lect-hemin40_mod.f90

    r27 r52  
    22 
    33  use module3D_phy 
     4  use interface_input 
     5  use io_netcdf_grisli 
     6 
     7  implicit none 
    48   
    5     character(len=50) :: FILE1 
    6     character(len=50) :: FILE2 
    7     character(len=80) :: filin 
    8     real, dimension(nx,ny,5) :: bidon          ! pour l'appel a courbure 
     9  character(len=100) :: topo_dep       ! Topo de départ 
     10  character(len=100) :: topo_ref       ! Topo de référence 
     11  character(len=100) :: grid_topo      ! fichier grille 
     12  character(len=100) :: ghf_fich       ! fichier grille 
     13  character(len=80) :: filin 
     14  real, dimension(nx,ny,5) :: bidon          ! pour l'appel a courbure 
     15  character(len=100) :: file_ncdf      !< fichier netcdf issue des fichiers .dat 
    916 
    1017contains 
     
    1219subroutine input_topo 
    1320 
    14 namelist/topo_file/file1,file2 
    15 rewind(num_param)        ! pour revenir au debut du fichier param_list.dat 
    16 read(num_param,topo_file) 
     21  integer :: ios 
     22 
     23  namelist/topo_file/topo_ref,topo_dep,grid_topo,ghf_fich 
     24  rewind(num_param)        ! pour revenir au debut du fichier param_list.dat 
     25  read(num_param,topo_file) 
    1726! formats pour les ecritures dans 42 
    1827428 format(A) 
    19 write(num_rep_42,428)'!___________________________________________________________'  
    20 write(num_rep_42,428) '&topo_file                                  ! nom du bloc ' 
    21 write(num_rep_42,*) 
    22 write(num_rep_42,*) 'file1 = ', file1 
    23 write(num_rep_42,*) 'file2 = ', file2 
    24 write(num_rep_42,*)'/'  
    25 write(num_rep_42,428) '! file1 : topo de depart' 
    26 write(num_rep_42,428) '! file2 : topo de reference'              
    27 write(num_rep_42,*) 
     28  write(num_rep_42,428)'!___________________________________________________________'  
     29  write(num_rep_42,428) '&topo_file                                  ! nom du bloc ' 
     30  write(num_rep_42,*) 
     31  write(num_rep_42,'(A,A)') 'topo_ref = ', topo_ref 
     32  write(num_rep_42,'(A,A)') 'topo_dep = ', topo_dep 
     33  write(num_rep_42,'(A,A)') 'grid_topo =', grid_topo 
     34  write(num_rep_42,'(A,A)') 'ghf_fich = ', ghf_fich 
     35  write(num_rep_42,*)'/'                       
     36  write(num_rep_42,428) '! topo_ref= topo ref isostasie' 
     37  write(num_rep_42,428) '! topo_dep= topo de depart' 
     38  write(num_rep_42,428) '! grid_topo : fichier i,j,x,y,lon,lat' 
     39  write(num_rep_42,428) '! ghf_fich  : fichier flux geothermique'   
     40  write(num_rep_42,*) 
     41 
     42  topo_ref=trim(dirnameinp)//trim(topo_ref)  
     43  topo_dep=trim(dirnameinp)//trim(topo_dep)  
     44  grid_topo=trim(dirnameinp)//trim(grid_topo) 
     45  ghf_fich=trim(dirnameinp)//trim(ghf_fich) 
     46 
     47!write(num_rep_42,*) 'file1 = ', file1 
     48!write(num_rep_42,*) 'file2 = ', file2 
     49!write(num_rep_42,*)'/'  
     50!write(num_rep_42,428) '! file1 : topo de depart' 
     51!write(num_rep_42,428) '! file2 : topo de reference'              
     52!write(num_rep_42,*) 
    2853 
    2954!====================================== La reponse est 42 =========== 
     
    4166 
    4267       
    43 ! lecture adaptee aux fichiers intercomparaison EISMINT 
    44        nxx=nx 
    45        nyy=ny 
     68!!$! lecture adaptee aux fichiers intercomparaison EISMINT 
     69!!$       nxx=nx 
     70!!$       nyy=ny 
    4671 
    47 !     lecture de la topo actuelle 
    48 !     --------------------------- 
    49      open (20,file=TRIM(DIRNAMEINP)//file2,status='old') 
    50         
    51      read(20,'(A80)') TITRE 
    52      read(20,*) NI,NJ,NXX,NYY,STEP 
    53      read(20,*) 
    54          do J=1,ny  
    55           do I=1,nx 
    56              read (20,*)  S0(I,J),H0(I,J),BSOC0(I,J) 
    57              S0(i,j)=max(S0(i,j),0.) 
    58           end do 
    59         end do 
    60      close(20) 
     72!!$!     lecture de la topo actuelle 
     73!!$!     --------------------------- 
     74!!$     open (20,file=TRIM(DIRNAMEINP)//file2,status='old') 
     75!!$        
     76!!$     read(20,'(A80)') TITRE 
     77!!$     read(20,*) NI,NJ,NXX,NYY,STEP 
     78!!$     read(20,*) 
     79!!$         do J=1,ny  
     80!!$          do I=1,nx 
     81!!$             read (20,*)  S0(I,J),H0(I,J),BSOC0(I,J) 
     82!!$             S0(i,j)=max(S0(i,j),0.) 
     83!!$          end do 
     84!!$        end do 
     85!!$     close(20) 
     86!!$ 
     87!!$      
     88!!$!     lecture de la topo de depart 
     89!!$!     --------------------------- 
     90!!$     open (20,file=TRIM(DIRNAMEINP)//file1,status='old') 
     91!!$!         open (20,file='../INPUT-DATA/hemin.g50') 
     92!!$     read(20,'(A80)') TITRE 
     93!!$     read(20,*) NI,NJ,NXX,NYY,STEP 
     94!!$     read(20,*) 
     95!!$         do J=1,ny  
     96!!$          do I=1,nx 
     97!!$             read (20,*) S(I,J),H(I,J),BSOC(I,J) 
     98!!$          end do 
     99!!$        end do 
     100!!$     close(20) 
    61101 
    62       
    63 !     lecture de la topo de depart 
    64 !     --------------------------- 
    65      open (20,file=TRIM(DIRNAMEINP)//file1,status='old') 
    66 !         open (20,file='../INPUT-DATA/hemin.g50') 
    67      read(20,'(A80)') TITRE 
    68      read(20,*) NI,NJ,NXX,NYY,STEP 
    69      read(20,*) 
    70          do J=1,ny  
    71           do I=1,nx 
    72              read (20,*) S(I,J),H(I,J),BSOC(I,J) 
    73           end do 
    74         end do 
    75      close(20) 
     102 
     103!     lecture de la topo de référence 
     104    call lect_input(1,'Bsoc',1,Bsoc0,topo_ref,file_ncdf)    ! socle 
     105    call lect_input(1,'S',1,S0,topo_ref,file_ncdf)          ! surface 
     106    call lect_input(1,'H',1,H0,topo_ref,file_ncdf)          ! epaisseur 
     107 
     108!     lecture de la topo de départ 
     109    call lect_input(1,'Bsoc',1,Bsoc,topo_dep,file_ncdf)    ! socle 
     110    call lect_input(1,'S',1,S,topo_dep,file_ncdf)          ! surface 
     111    call lect_input(1,'H',1,H,topo_dep,file_ncdf)          ! epaisseur 
     112 
    76113 
    77114! calcul des courbures du socle 
    78  
    79115     call courbure(nx,ny,dx,Bsoc,bidon(:,:,1),bidon(:,:,2),bidon(:,:,3), & 
    80116          bidon(:,:,4),socle_cry,bidon(:,:,5)) 
     
    83119! lecture des coordonnées geographiques 
    84120 
    85     filin=TRIM(DIRNAMEINP)//'coord-nord-40km.dat' 
     121!    filin=TRIM(DIRNAMEINP)//grid_topo 
    86122 
    87123! les coordonnees sont calculees en °dec avec GMT, 
    88124! les longitudes sont comprises entre -180 et +180 (negative a l'Ouest de 
    89125! Greenwich et positive a l'Est) 
    90     open(unit=2004,file=filin,iostat=ios) 
     126    open(unit=2004,file=grid_topo,iostat=ios) 
    91127    do k=1,nx*ny 
    92128       read(2004,*) i,j,XCC(i,j),YCC(i,j),XLONG(i,j),YLAT(i,j) 
     
    101137                          
    102138! lecture du flux geothermique de Shapiro 
    103     open(88,file=TRIM(DIRNAMEINP)//'ijphi_hemin40.dat') 
     139!    open(88,file=TRIM(DIRNAMEINP)//'ijphi_hemin40.dat') 
     140!    open(88,file=ghf_fich) 
    104141 
    105     write(42,*) 'flux geothermique Shapiro : ',TRIM(DIRNAMEINP)//'ijphi_hemin40.dat' 
     142!!$    write(42,*) 'flux geothermique Shapiro : ',TRIM(DIRNAMEINP)//'ijphi_hemin40.dat' 
     143!!$    do k=1,nx*ny 
     144!!$       read(88,*) i,j,ghf(i,j) 
     145!!$    end do 
     146!!$    close(88) 
    106147 
    107     do k=1,nx*ny 
    108        read(88,*) i,j,ghf(i,j) 
    109 !        print*, i,j,ghf(i,j) 
    110     end do 
    111     close(88) 
     148    call lect_input(1,'ghf',1,ghf,ghf_fich,file_ncdf) 
     149 
    112150! pour passer les flux des mW/m2 au J/m2/an       
    113151    ghf(:,:)=-SECYEAR/1000.*ghf(:,:) 
  • branches/iLoveclim/SOURCES/Makefile.grisli-gfortran.inc

    r45 r52  
    9292        dragging_hwatermax_0.2_mod.o dragging_calc_beta_mod.o  \ 
    9393        dragging_hwat-contigu_mod.o dragging_hwat_contmaj_mod.o \ 
    94         prop-thermiques_mod.o  \ 
    9594        calving_frange.o no_calving.o no_lakes.o \ 
    9695        out_profile_mod.o printtable_mod.o mix-SIA-L1_mod.o \ 
     
    16161615        $(toy_recul)  \ 
    16171616        $(mod_communs_RGL) \ 
    1618         $(mod_clim_perturb)  \ 
     1617        $(mod_clim_tof)  \ 
    16191618        $(mod_tracers) \ 
    16201619        $(mod_ell) $(Liste_GrIce2sea) \ 
     
    16281627        $(toy_recul)  \ 
    16291628        $(mod_communs_RGL) \ 
    1630         $(mod_clim_perturb)  \ 
     1629        $(mod_clim_tof)  \ 
    16311630        $(mod_tracers) \ 
    16321631        $(mod_ell) $(Liste_GrIce2sea) \ 
  • branches/iLoveclim/SOURCES/Makefile.grisli.inc

    r45 r52  
    9191        dragging_hwatermax_0.2_mod.o dragging_calc_beta_mod.o  \ 
    9292        dragging_hwat-contigu_mod.o dragging_hwat_contmaj_mod.o \ 
    93         prop-thermiques_mod.o  \ 
    9493        calving_frange.o no_calving.o no_lakes.o \ 
    9594        out_profile_mod.o printtable_mod.o mix-SIA-L1_mod.o \ 
     
    16171616        $(toy_recul)  \ 
    16181617        $(mod_communs_RGL) \ 
    1619         $(mod_clim_perturb)  \ 
     1618        $(mod_clim_tof)  \ 
    16201619        $(mod_tracers) \ 
    16211620        $(mod_ell) $(Liste_GrIce2sea) \ 
     
    16291628        $(toy_recul)  \ 
    16301629        $(mod_communs_RGL) \ 
    1631         $(mod_clim_perturb)  \ 
     1630        $(mod_clim_tof)  \ 
    16321631        $(mod_tracers) \ 
    16331632        $(mod_ell) $(Liste_GrIce2sea) \ 
  • branches/iLoveclim/SOURCES/Netcdf-routines/io_netcdf_GRISLI.f90

    r32 r52  
    191191    !      
    192192    status = nf90_inq_varid(ncid,varname,varid) 
     193    if (status/=nf90_noerr) then 
     194       write(*,*)"pb de nom de variable :", varname, file 
     195       stop 
     196    endif 
    193197    status=nf90_inquire_variable(ncid,varid,dimids=dimIDS) 
    194198    status=nf90_inquire_dimension(ncid,dimIDS(1),len=dim1) 
     
    249253    !       
    250254    status = nf90_inq_varid(ncid,varname,varid) 
     255    if (status/=nf90_noerr) then 
     256       write(*,*)"pb de nom de variable :", varname, file 
     257       stop 
     258    endif 
    251259    status=nf90_inquire_variable(ncid,varid,dimids=dimIDS) 
    252260    !                 
     
    294302    !      
    295303    status = nf90_inq_varid(ncid,varname,varid) 
     304    if (status/=nf90_noerr) then 
     305       write(*,*)"pb de nom de variable :", varname, file 
     306       stop 
     307    endif 
    296308    status=nf90_inquire_variable(ncid,varid,dimids=dimIDS) 
    297309    status=nf90_inquire_dimension(ncid,dimIDS(1),len=dim1) 
     
    346358    !      
    347359    status = nf90_inq_varid(ncid,varname,varid) 
     360    if (status/=nf90_noerr) then 
     361       write(*,*)"pb de nom de variable :", varname, file 
     362       stop 
     363    endif 
    348364    status=nf90_inquire_variable(ncid,varid,dimids=dimIDS) 
    349365    status=nf90_inquire_dimension(ncid,dimIDS(1),len=dim1) 
     
    394410    !      
    395411    status = nf90_inq_varid(ncid,varname,varid) 
     412    if (status/=nf90_noerr) then 
     413       write(*,*)"pb de nom de variable :", varname, file 
     414       stop 
     415    endif 
    396416    status=nf90_inquire_variable(ncid,varid,dimids=dimID) 
    397417    status=nf90_inquire_dimension(ncid,dimID(1),len=dim1)           
     
    438458    !      
    439459    status = nf90_inq_varid(ncid,varname,varid) 
     460    if (status/=nf90_noerr) then 
     461       write(*,*)"pb de nom de variable :", varname, file 
     462       stop 
     463    endif 
    440464    status=nf90_inquire_variable(ncid,varid,dimids=dimIDS) 
    441465    status=nf90_inquire_dimension(ncid,dimIDS(1),len=dim1) 
     
    484508    !      
    485509    status = nf90_inq_varid(ncid,varname,varid) 
     510    if (status/=nf90_noerr) then 
     511       write(*,*)"pb de nom de variable :", varname, file 
     512       stop 
     513    endif 
    486514    status=nf90_inquire_variable(ncid,varid,dimids=dimIDS) 
    487515    status=nf90_inquire_dimension(ncid,dimIDS(1),len=dim1) 
     
    532560    !      
    533561    status = nf90_inq_varid(ncid,varname,varid) 
     562    if (status/=nf90_noerr) then 
     563       write(*,*)"pb de nom de variable :", varname, file 
     564       stop 
     565    endif 
    534566    status=nf90_inquire_variable(ncid,varid,dimids=dimIDS) 
    535567    status=nf90_inquire_dimension(ncid,dimIDS(1),len=dim1) 
     
    584616    !      
    585617    status = nf90_inq_varid(ncid,varname,varid) 
    586     !         
     618    if (status/=nf90_noerr) then 
     619       write(*,*)"pb de nom de variable :", varname, file 
     620       stop 
     621    endif         
    587622    status=nf90_inquire_variable(ncid,varid,dimids=dimIDS) 
    588623    status=nf90_inquire_dimension(ncid,dimIDS(1),len=dim1) 
     
    638673    !      
    639674    status = nf90_inq_varid(ncid,varname,varid) 
    640     !         
     675    if (status/=nf90_noerr) then 
     676       write(*,*)"pb de nom de variable :", varname, file 
     677       stop 
     678    endif         
    641679    status=nf90_inquire_variable(ncid,varid,dimids=dimIDS) 
    642680    status=nf90_inquire_dimension(ncid,dimIDS(1),len=dim1) 
  • branches/iLoveclim/SOURCES/steps_time_loop.f90

    r25 r52  
    1515 
    1616  use module3d_phy 
    17  
    1817  use module_choix ! module de choix du type de run 
    19   !  module_choix donne acces a tous les modules 
    20   !  de declaration des packages 
    21  
     18                   !  module_choix donne acces a tous les modules 
     19                   !  de declaration des packages 
    2220  use sorties_ncdf_grisli 
    2321  use flottab_mod 
  • branches/iLoveclim/SOURCES/steps_time_loop_avec_iterbeta.f90

    r19 r52  
    1515 
    1616  use module3d_phy 
    17  
    18   use geom_type 
    19   use temperature_type 
    20   use ice_flow_type 
    21   use mask_flgz_type 
    22   use deformation_type 
    23   use autre_pr_temp_type 
    24  
    2517  use module_choix ! module de choix du type de run 
    2618                   !  module_choix donne acces a tous les modules 
    2719                   !  de declaration des packages 
    28  
     20  use icetempmod 
    2921  use sorties_ncdf_grisli 
    3022  use flottab_mod 
    31   use interface_icetempmod 
    3223  use diagno_mod  
    33  
    3424 
    3525 
     
    205195  !  module_choix donne acces a tous les modules 
    206196  !  de declaration des packages 
    207   use interface_icetempmod 
     197  use icetempmod 
    208198  use sorties_ncdf_grisli 
    209199  use flottab_mod 
     
    211201  use resolmeca_SIA_L1 
    212202!  use track_debug  
    213  
    214   use geom_type 
    215   use temperature_type 
    216   use ice_flow_type 
    217   use mask_flgz_type 
    218   use deformation_type 
    219   use autre_pr_temp_type 
    220   use step_temp_type 
    221203 
    222204 
     
    309291 
    310292     calc_temp:     if ((nt.gt.2).and.(geoplace(1:5).ne.'mism3')) then 
    311         ! Hassine ca va etre modifier bien sur apres: l appel sera beaucoup moin long que ca  
    312         call Update_geom(Geom_g)                
    313         call Update_Temperature(Temperature_g) 
    314         call Update_Ice_flow(Ice_flow_g) 
    315         call Update_Mask_flgz(Mask_flgz_g) 
    316         call Update_Deformation(Deformation_g) 
    317         call Update_autre_pr_temp(Autre_pr_temp_g) 
    318         call Update_step_temp(step_temp_g) 
    319  
    320293        if (itracebug.eq.1)  call tracebug('avant appel icetemp') 
    321  
    322         call icetemp(geom_g,temperature_g, & 
    323              Ice_flow_g,Mask_flgz_g,& 
    324              deformation_g,Autre_pr_temp_g,& 
    325              step_temp_g,num_tracebug,debug_3D) 
    326  
    327         ! update arrays T, Tpmp 
    328         T= Temperature_g%Temperature  
    329         Tpmp= Temperature_g%Temp_melting 
    330         Tbdot= Autre_pr_temp_g%Tbdot 
    331         Bmelt= Autre_pr_temp_g%BMELT 
    332         Ibase=Autre_pr_temp_g%IBASE 
    333         Phid=Autre_pr_temp_g%Phid 
    334  
    335         !      write(6,*) time,'call icetemp' 
     294        call icetemp 
    336295        ! subroutines pour le calcul de la fusion basale 
    337296        call bmeltshelf 
Note: See TracChangeset for help on using the changeset viewer.