Ignore:
Timestamp:
07/05/16 11:20:52 (8 years ago)
Author:
dumas
Message:

Merge branche iLOVECLIM sur rev 76

Location:
branches/iLoveclim
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/iLoveclim

  • branches/iLoveclim/SOURCES/Ant40_files/bmelt-ant-regions_mod.f90

    r52 r77  
    1414MODULE  BMELT_ANT_REGIONS         ! cat juillet 2005 
    1515 
    16   USE module3D_phy 
    17  
    18  
     16  use module3D_phy 
     17  use netcdf 
     18  use io_netcdf_grisli 
     19   
    1920  implicit none 
    2021 
     
    2627  !< utilises pour moduler la fusion sous le shelf 
    2728  integer, dimension(10) :: region      !< pour écrire dans le fichier param 
    28   character(len=30),dimension(10) :: regname !< nom des régions  
     29  character(len=30),dimension(10) :: regname !< nom des régions 
     30  character(len=100) :: file_number_shelves ! fichier avec les zones ice-shelves 
    2931  real :: bsupshelf 
    3032  integer :: grd                        !< pour une sortie  
     
    3840  real :: bmelt_talus,bmgrz_talus       !< Au dela du talus continental 
    3941  real :: bmelt_coef                    !< Coef pour corriger les valeurs std de bmelt (lu dans namelist) 
     42  real, parameter :: depth_talus=-2500. !< Profondeur du talus continental 
    4043 
    4144CONTAINS 
     
    4649    ! Cette routine fait l'initialisation pour la fusion basale. 
    4750    ! Elle est appelée par inputfile-vec-0.5.f90 
    48  
     51         
     52    real*8, dimension(:,:),   pointer    :: tab               !< tableau 2d real pointer 
    4953 
    5054    namelist/bmelt_ant_reg/bmelt_Ross,bmgrz_Ross,bmelt_FRis,bmgrz_FRis,  &  
    5155         bmelt_Amery,bmgrz_Amery,bmelt_PIG,bmgrz_PIG,  & 
    5256         bmelt_Pen,bmgrz_Pen,bmelt_other,bmgrz_other,  &        
    53          bmelt_talus,bmgrz_talus,bmelt_coef       
     57         bmelt_talus,bmgrz_talus,bmelt_coef,file_number_shelves       
    5458 
    5559 
     
    7882    write(num_rep_42,*) 'bmgrz_talus     = ',bmgrz_talus 
    7983    write(num_rep_42,*) 'bmelt_coef      = ',bmelt_coef 
     84    write(num_rep_42,*) 'file_numer_shelves = ',file_number_shelves 
    8085    write(num_rep_42,*)'/'                             
    8186    write(num_rep_42,428) '! bmelt_Ross & bmgrz_Ross    :  fonte basale secteur Ross' 
     
    8792    write(num_rep_42,428) '! bmelt_talus & bmgrz_talus  :  fonte basale apres talus cont' 
    8893    write(num_rep_42,428) '! bmelt_coef                 :  coef fonte (1 pour conserver val)' 
     94    write(num_rep_42,428) '! file_numer_ice-shelves     : fichier zones ice shelves' 
    8995    write(num_rep_42,*) 
    9096 
    9197 
    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(:,:) 
    12498 
    12599    ! lecture du fichier contenant les types de shelves Ronne-Flichner 
    126100    !  ->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') 
    129101    typeshelf(:,:)=100 
    130     do k=1,nx*ny 
    131        read(88,*,end=36) i,j,typeshelf(i,j) 
    132     end do 
    133 36  close(88) 
    134  
    135  
     102    file_number_shelves=TRIM(DIRNAMEINP)//trim(file_number_shelves) 
     103!    call lect_input(1,'z',1,typeshelf,file_number_shelves,file_ncdf) 
     104        call Read_Ncdf_var('z',file_number_shelves,tab) 
     105        typeshelf(:,:)  = tab(:,:) 
     106!    open(88,file=TRIM(DIRNAMEINP)//'numer-ice-shelves-juil07.dat',status='OLD') 
     107!    open(88,file=TRIM(file_number_shelves),status='OLD') 
     108!       do j=1,ny 
     109!               do i=1,nx 
     110!                       read(88,*) typeshelf(i,j) 
     111!       enddo    
     112!       enddo 
     113!       close(88) 
    136114 
    137115    region(:)=0 
     
    147125       do i=1,nx 
    148126 
    149           talus:    if (dist_talu(i,j).GT.5000.) then 
     127          talus:    if (Bsoc(i,j).GT.depth_talus) then 
    150128             if (nint(typeshelf(i,j)).eq.1) then ! Ronne-Filchner FRis 
    151129                bmshelf(i,j)=bmelt_FRis          
     
    227205       enddo 
    228206    enddo bms_init 
     207     
    229208 
    230209    bmshelf(:,:)=bmshelf(:,:)*bmelt_coef 
     
    247226       do i=2,nx-1 
    248227 
    249           talus_nochange : if (typeshelf(i,j).lt.10) then  
     228          talus_nochange : if (Bsoc(i,j).GT.depth_talus) then  
    250229             coef_talus = coefbmshelf 
    251230          else 
    252              coef_talus = 1         ! pas de changement au dela du talus continental 
     231             coef_talus = 1         ! pas de changement au dela du talus continental                
    253232          endif talus_nochange 
    254233 
Note: See TracChangeset for help on using the changeset viewer.