!> \file lect-clim-act-greenmint_mod.f90 !!Module pour la lecture du climat !< !> \namespace lect_clim_act_greenmint !! Module pour la lecture du climat !! \author ... !! \date ... !! @note Used module !! @note - use module3D_phy !! @note - use ablation_ann !< module lect_clim_act_greenmint ! version climat annuel use module3D_phy use ablation_ann ! le module pdd base sur Tann et Tjuly contains subroutine input_climat_ref() ! l'accumulation a deja ete lue dans lect-topo parce qu'elle est dans le même fichier ! que la topo : precip ! temperature en surface : parametrisation EISMINT call Tsgreen ! Tann et Tjuly en fonction de S et Ylat TA0(:,:)=Tann(:,:) ! ecriture dans le fichier param write(num_rep_42,*)'!___________________________________________________________' write(num_rep_42,*) ' ! module lect_clim_act_greenmint' write(num_rep_42,*) ' ! temperatures surface : parametrisation EISMINT' write(num_rep_42,*) ' ! zel = max(S,20.*(ylat-65.))' write(num_rep_42,*) ' ! Tann = 49.13-0.007992*Zel-0.7576*ylat' write(num_rep_42,*) ' ! Tjuly = 30.78-0.006277*S-0.3262*ylat' write(num_rep_42,*) ' ! precip lue en meme temps que topo' write(num_rep_42,*)'!___________________________________________________________' write(num_rep_42,*) end subroutine input_climat_ref !--------------------------------------------------------------------------------------------- ! parametrisation de la temperature . Cette routine gere la partie dependance en altitude ! c'est donc le S courant qui compte subroutine Tsgreen real :: Zel do j=1,ny do i=1,nx zel=max(S(i,j),20.*(ylat(i,j)-65.)) Tann(i,j)=49.13-0.007992*Zel-0.7576*ylat(i,j) Tjuly(i,j)= 30.78-0.006277*S(i,j)-0.3262*ylat(i,j) end do end do end subroutine Tsgreen !!$!------------------------------------------------------------------------------------------- !!$subroutine massb_perturb_Tparam ! calcule le mass balance en mode perturbation !!$ ! avec la temperature parametree greenmint !!$ ! version Groenland (greenmint) !!$ !!$use climat_perturb_mod !!$ !!$implicit none !!$ !!$ !!$! surface temperature !!$call Tsgreen !!$ !!$ !!$do j=1,ny !!$ do i=1,nx !!$ !!$ if(retroac.eq.1) then ! full retroaction acc. !!$ acc(i,j)=precip(i,j)*exp(rappact*(tann(i,j)-ta0(i,j))) !!$ !!$ else if(retroac.eq.0) then !!$ acc(i,j)=precip(i,j) !!$ !!$ endif !!$ end do !!$end do !!$ !!$! ablation et bilan de masse sont maintenant appeles par forclim !!$ !!$ !!$ debug_3D(:,:,29)=Tann(:,:)-Ta0(:,:) !!$ debug_3D(:,:,30)=Acc(:,:)-precip(:,:) !!$ debug_3D(:,:,31)=Acc(:,:)-bmelt(:,:) !!$ !!$ !!$ !!$ return !!$ end subroutine massb_perturb_Tparam end module lect_clim_act_greenmint