Changeset 4233 for dynamico_lmdz
- Timestamp:
- Jan 18, 2020, 5:59:32 PM (5 years ago)
- Location:
- dynamico_lmdz/simple_physics
- Files:
-
- 2 added
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
dynamico_lmdz/simple_physics/bash/beautify.sh
r4229 r4233 3 3 # indent source file using emacs in batch mode 4 4 # following standard settings of emacs f90-mode 5 emacs -batch $x --eval '(f90-mode)' --eval '(indent-region (point-min) (point-max) nil)' --eval '(delete-trailing-whitespace)' -f save-buffer 5 emacs -batch $x --eval '(f90-mode)' --eval '(indent-region (point-min) (point-max) nil)' --eval '(delete-trailing-whitespace)' -f save-buffer 2>/dev/null 6 6 # remove blank lines at end of file 7 7 sed -i '' -e :a -e '/^\n*$/{$d;N;};/\n$/ba' $x -
dynamico_lmdz/simple_physics/phyparam/Makefile
r4229 r4233 22 22 clean : 23 23 rm -f obj/* include/* lib/* xml/* 24 25 nice: 24 26 ../bash/beautify.sh physics/*.F90 27 25 28 %.so : $(OBJECTS) 26 29 $(F90) -shared $^ -o $@ -
dynamico_lmdz/simple_physics/phyparam/physics/astronomy.F90
r4229 r4233 14 14 15 15 SUBROUTINE solarlong(pday,psollong) 16 REAL, INTENT(IN) :: pday ! jour de l 'annee (le jour 0 correspondant a l'equinoxe)16 REAL, INTENT(IN) :: pday ! jour de l annee (le jour 0 correspondant a l equinoxe) 17 17 REAL, INTENT(OUT) :: psollong ! solar longitude 18 18 LOGICAL, PARAMETER :: lwrite=.TRUE. … … 24 24 25 25 !-------------------------------------------------------- 26 ! calcul de l 'angle polaire et de la distance au soleil :26 ! calcul de l angle polaire et de la distance au soleil : 27 27 ! ------------------------------------------------------- 28 28 29 ! calcul de l 'zanomalie moyenne29 ! calcul de l zanomalie moyenne 30 30 31 31 zz=(pday-peri_day)/year_day … … 33 33 xref=abs(zanom) 34 34 35 ! resolution de l 'equation horaire zx0 - e * sin (zx0) = xref35 ! resolution de l equation horaire zx0 - e * sin (zx0) = xref 36 36 ! methode de Newton 37 37 … … 74 74 ! ------ 75 75 ! Initialisation du sous programme orbite qui calcule 76 ! a une date donnee de l 'annee de duree year_day commencant77 ! a l 'equinoxe de printemps et dont le perihelie se situe76 ! a une date donnee de l annee de duree year_day commencant 77 ! a l equinoxe de printemps et dont le perihelie se situe 78 78 ! a la date peri_day, la distance au soleil et la declinaison. 79 79 ! … … 81 81 ! ---------- 82 82 ! - initialise certaines variables de ce module 83 ! - Doit etre appele avant d 'utiliser orbite.83 ! - Doit etre appele avant d utiliser orbite. 84 84 ! 85 85 ! Arguments: … … 88 88 ! Input: 89 89 ! ------ 90 ! aphelie \ aphelie et perihelie de l 'orbite90 ! aphelie \ aphelie et perihelie de l orbite 91 91 ! periheli / en millions de kilometres. 92 92 ! … … 113 113 114 114 !----------------------------------------------------------------------- 115 ! calcul de l 'angle polaire et de la distance au soleil :115 ! calcul de l angle polaire et de la distance au soleil : 116 116 ! ------------------------------------------------------- 117 117 118 ! calcul de l 'zanomalie moyenne118 ! calcul de l zanomalie moyenne 119 119 120 120 zz=(year_day-peri_day)/year_day … … 123 123 WRITELOG(*,*) 'zanom ',zanom 124 124 125 ! resolution de l 'equation horaire zx0 - e * sin (zx0) = zxref125 ! resolution de l equation horaire zx0 - e * sin (zx0) = zxref 126 126 ! methode de Newton 127 127 -
dynamico_lmdz/simple_physics/phyparam/physics/logging.F90
r4230 r4233 98 98 INTEGER, INTENT(IN) :: index ! index of gridpoint 99 99 CHARACTER(*), INTENT(OUT) :: line 100 line=' '100 line=' ' 101 101 END SUBROUTINE default_log_gridpoint 102 102 -
dynamico_lmdz/simple_physics/phyparam/physics/radiative_lw.F90
r4229 r4233 22 22 !======================================================================= 23 23 ! 24 ! calcul de l 'evolution de la temperature sous l'effet du rayonnement24 ! calcul de l evolution de la temperature sous l effet du rayonnement 25 25 ! infra-rouge. 26 26 ! Pour simplifier, les transmissions sont precalculees et ne 27 ! dependent que de l 'altitude.27 ! dependent que de l altitude. 28 28 ! 29 29 ! arguments: … … 76 76 77 77 !----------------------------------------------------------------------- 78 ! 2. calcul des quantites d 'absorbants:78 ! 2. calcul des quantites d absorbants: 79 79 ! ------------------------------------- 80 80 -
dynamico_lmdz/simple_physics/phyparam/physics/radiative_sw.F90
r4229 r4233 42 42 ! 43 43 ! Rayonnement solaire en atmosphere non diffusante avec un 44 ! coefficient d 'absoprption gris.44 ! coefficient d absoprption gris. 45 45 ! 46 46 !======================================================================= … … 113 113 tau0=-.5*log(coefvis) 114 114 115 ! calcul de la partie homogene de l 'opacite115 ! calcul de la partie homogene de l opacite 116 116 tau0=tau0/ps_rad 117 117 DO l=1,nlayer+1 … … 122 122 123 123 !----------------------------------------------------------------------- 124 ! 2. calcul de la transmission depuis le sommet de l 'atmosphere:124 ! 2. calcul de la transmission depuis le sommet de l atmosphere: 125 125 ! ----------------------------------------------------------- 126 126 … … 202 202 203 203 !----------------------------------------------------------------------- 204 ! 6.ajout a l 'echauffement de la contribution du ray. sol. reflechit:204 ! 6.ajout a l echauffement de la contribution du ray. sol. reflechit: 205 205 ! ------------------------------------------------------------------- 206 206 -
dynamico_lmdz/simple_physics/phyparam/physics/read_param_mod.F90
r4230 r4233 96 96 LOG_INFO('read_param') 97 97 END SUBROUTINE read_paramb 98 98 99 99 END MODULE read_param_mod -
dynamico_lmdz/simple_physics/phyparam/physics/solar.F90
r4229 r4233 89 89 pfract(jl)=1. 90 90 ELSE 91 91 pmu0(jl)=0. 92 92 pfract(jl)=0. 93 93 ENDIF … … 102 102 !============================================================= 103 103 ! Auteur : O. Boucher (LMD/CNRS) 104 ! d 'apres les routines zenith et angle de Z.X. Li105 ! Objet : calculer les valeurs moyennes du cos de l 'angle zenithal106 ! et l 'ensoleillement moyen entre gmtime1 et gmtime2104 ! d apres les routines zenith et angle de Z.X. Li 105 ! Objet : calculer les valeurs moyennes du cos de l angle zenithal 106 ! et l ensoleillement moyen entre gmtime1 et gmtime2 107 107 ! connaissant la declinaison, la latitude et la longitude. 108 108 ! Rque : Different de la routine angle en ce sens que zenang … … 114 114 !=============================================================== 115 115 ! longi----INPUT : la longitude vraie de la terre dans son plan 116 ! solaire a partir de l 'equinoxe de printemps (degre)116 ! solaire a partir de l equinoxe de printemps (degre) 117 117 ! gmtime---INPUT : temps universel en fraction de jour 118 118 ! pdtrad---INPUT : pas de temps du rayonnement (secondes) … … 133 133 ! omega1, omega2 : temps 1 et 2 exprime en radian avec 0 a midi. 134 134 ! omega : heure en radian du coucher de soleil 135 ! -omega est donc l 'heure en radian de lever du soleil135 ! -omega est donc l heure en radian de lever du soleil 136 136 real omegadeb, omegafin 137 137 real zfrac1, zfrac2, z1_mu, z2_mu … … 275 275 ! pdeclin solar declinaison 276 276 ! plat(npts) latitude 277 ! phaut hauteur typique de l 'atmosphere277 ! phaut hauteur typique de l atmosphere 278 278 ! prad rayon planetaire 279 279 ! -
dynamico_lmdz/simple_physics/phyparam/physics/surface.F90
r4229 r4233 28 28 SUBROUTINE init_soil(ngrid,nsoil) 29 29 INTEGER, INTENT(IN) :: ngrid, nsoil 30 REAL min_period,dalph_soil 31 REAL fz,rk,fz1,rk1,rk2 30 REAL :: min_period,dalph_soil, rk,fz1,rk1,rk2 32 31 INTEGER :: jk 33 34 ! this is a function definition35 fz(rk)=fz1*(dalph_soil**rk-1.)/(dalph_soil-1.)36 32 37 33 !----------------------------------------------------------------------- … … 71 67 ENDDO 72 68 LOG_INFO('init_soil') 69 70 CONTAINS 71 72 FUNCTION fz(rk) RESULT(val) 73 REAL :: val, rk 74 val = fz1*(dalph_soil**rk-1.)/(dalph_soil-1.) 75 END FUNCTION fz 73 76 74 77 END SUBROUTINE init_soil -
dynamico_lmdz/simple_physics/phyparam/physics/turbulence.F90
r4229 r4233 388 388 389 389 !----------------------------------------------------------------------- 390 ! calcul le l 'evolution de la temperature du sol:390 ! calcul le l evolution de la temperature du sol: 391 391 ! ----------------------------------------------- 392 392
Note: See TracChangeset
for help on using the changeset viewer.