module lect_clim_acc_T_ant_gen use module3D_phy use ablation_ann ! le module pdd base sur Tann et Tjuly use interface_input character(len=100) :: precip_file ! precipitations character(len=100) :: temp_annual_file ! temperature annuelles real :: coef_dens ! pour corriger si donnees en eq. eau logical :: temp_param ! si utilisation de temperature parametree contains subroutine input_climat_ref() namelist/climat_acc_T_gen/precip_file,coef_dens,temp_annual_file 428 format(A) rewind(num_param) ! pour revenir au debut du fichier param_list.dat read(num_param,climat_acc_T_gen) write(num_rep_42,428)'!___________________________________________________________' write(num_rep_42,428)'! module lect_clim_acc_T_ant_gen ' write(num_rep_42,climat_acc_T_gen) write(num_rep_42,428)'!___________________________________________________________' ! precipitation precip_file = trim(dirnameinp)//trim(precip_file) call lect_input(3,'precip',1,precip,precip_file,trim(dirnameinp)//trim(runname)//'.nc') !call lect_datfile(nx,ny,precip,1,precip_file) precip(:,:)=precip(:,:)*coef_dens acc(:,:)=precip(:,:) if ((trim(temp_annual_file).eq.'no').or.(trim(temp_annual_file).eq.'NO')) then temp_param=.true. else temp_param=.false. end if ! temperature en surface test_param: if (.not.temp_param) then temp_annual_file = trim(dirnameinp)//trim(temp_annual_file) call lect_input(3,'Tann',1,Tann,temp_annual_file,trim(dirnameinp)//trim(runname)//'.nc') !call lect_datfile(nx,ny,Tann,1,temp_annual_file) ! temperature annuelle else ! parametrisation de Fortuin pour la temperature annuelle. do j=1,ny do i=1,nx 7 if (s0(i,j).le.200.) then ! shelfs tann(i,j)=49.642-0.943*abs(ylat(i,j)) else if ((s0(i,j).gt.200.).and.(s0(i,j).lt.1500.)) then ! pente tann(i,j)=36.689-0.005102*s0(i,j)-0.725*abs(ylat(i,j)) else if (s0(i,j).ge.1500.) then ! plateau tann(i,j)=7.405-0.014285*s0(i,j)-0.180*abs(ylat(i,j)) endif end do end do end if test_param ta0(:,:)=tann(:,:) ! pour la temperature d'ete, idem parametrisation huybrechts do j=1,ny do i=1,nx tjuly(i,j)=tann(i,j)-17.65+0.00222*s0(i,j)& +0.40802*abs(ylat(i,j)) end do end do end subroutine input_climat_ref end module lect_clim_acc_T_ant_gen