Changeset 20 for trunk/SOURCES


Ignore:
Timestamp:
09/14/15 16:53:18 (9 years ago)
Author:
dumas
Message:

climat-forcage-insolation_mod.f90 : Lecture du nombre de ligne du fichier CO2 a partir de la premiere ligne du fichier de forcage (plus de modification a faire en dur dans le code)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SOURCES/climat-forcage-insolation_mod.f90

    r19 r20  
    2626integer,parameter :: mois=12 
    2727integer,parameter :: ntr=2      ! nb de snapshots selon les paramètres orbitaux 
    28 integer,parameter :: gtr=3      ! nb de snapshots selon l'état de la calotte 
     28integer,parameter :: gtr=4      ! nb de snapshots selon l'état de la calotte 
    2929integer,parameter :: ctr=4      ! nb de snapshots selon le CO2 
    3030real,dimension(ctr) :: Seuil_haut 
     
    3434character(len=12) :: ice_int='yes'         !Choose between yes and no 
    3535character(len=12) :: interpolation_ice='nonlinear'   !Choose between linear and nonlinear 
    36 integer :: rayon_interpolation_ice=300  !(In km) Choose a multiple of nx. 
     36integer :: rayon_interpolation_ice=60  !(In km) Choose a multiple of nx. 
    3737!real :: poids_nb_points=0.5 
    3838!real :: poids_proximity=0.5 
    3939character(len=15) :: CO2_function='variable'   !Choose between variable and constant 
    40 integer,parameter :: nb_slope_dis_CO2=6 !10              !Number of slope discontinuities + 1 in the text file containing the CO2 function (nbr de ligne fichier CO2) 
     40integer :: nb_slope_dis_CO2  ! nbr de ligne fichier CO2 
    4141real :: CO2_value=980. 
    4242character(len=12) :: interpolation_CO2='logarithmic'   !Choose between linear and logarithmic 
     
    103103 
    104104!interpolation sur le CO2 
    105 double precision,dimension(nb_slope_dis_CO2) :: CO2_time,CO2_val 
     105double precision,allocatable :: CO2_time(:), CO2_val(:) ! depend du nbr de points du fichier CO2 
    106106real,dimension(nx,ny,mois) :: Tm_time_fin_3             ! temperature mensuelle au temps time (non corrige altitude) 
    107107real,dimension(nx,ny,mois) :: Pm_time_fin_3             ! precipitation mensuelle au temps time 
     
    389389case('variable') 
    390390   print *,'The CO2 will vary with time' 
    391  
    392391   open(75,file=trim(dirnameinp)//'forcing/'//trim(co2_file)) 
     392   read(75,*) nb_slope_dis_CO2 
     393   allocate(CO2_time(nb_slope_dis_CO2),stat=error) 
     394   if (error.ne.0) then 
     395      print *,'error: could not allocate memory for array CO2_time' 
     396      stop 
     397   endif 
     398   allocate(CO2_val(nb_slope_dis_CO2),stat=error) 
     399   if (error.ne.0) then 
     400      print *,'error: could not allocate memory for array CO2_val' 
     401      stop 
     402   endif 
    393403   do w=1,nb_slope_dis_CO2 
    394404      read(75,*) CO2_time(w),CO2_val(w) 
    395405   end do 
    396406   close(75) 
    397     
    398407   !print *,'CO2_time = ',CO2_time(:),'CO2_val = ',CO2_val(:) 
    399  
    400408end select 
    401409 
Note: See TracChangeset for help on using the changeset viewer.