! $Id: gcm.F90 3579 2019-10-09 13:11:07Z fairhead $ PROGRAM replay3d USE comvert_mod, ONLY: preff, pa USE inigeomphy_mod, ONLY: inigeomphy USE control_mod USE temps_mod, ONLY: calend, start_time, annee_ref, day_ref, & itau_dyn, itau_phy, day_ini, jD_ref, jH_ref, day_end USE comconst_mod, ONLY: cpp, daysec, dtphys, dtvr, g, r, rad USE logic_mod, ONLY: ecripar, iflag_phys, read_start USE serre_mod, ONLY: clon, clat, transx, transy, alphax, alphay, pxo, pyo, & grossismx, grossismy, dzoomx, dzoomy, taux, tauy USE mod_const_mpi, ONLY: comm_lmdz USE lmdz_comdissnew, ONLY: lstardis, nitergdiv, nitergrot, niterh, tetagdiv, & tetagrot, tetatemp, coefdis, vert_prof_dissip USE lmdz_comgeom2 USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm USE lmdz_paramet USE lmdz_conf_gcm, ONLY: conf_gcm IMPLICIT NONE ! ...... Version du 10/01/98 .......... ! avec coordonnees verticales hybrides ! avec nouveaux operat. dissipation * ( gradiv2,divgrad2,nxgraro2 ) !======================================================================= ! Auteur: P. Le Van /L. Fairhead/F.Hourdin ! ------- ! Objet: ! ------ ! GCM LMD nouvelle grille !======================================================================= ! ... Dans inigeom , nouveaux calculs pour les elongations cu , cv ! et possibilite d'appeler une fonction f(y) a derivee tangente ! hyperbolique a la place de la fonction a derivee sinusoidale. ! ... Possibilite de choisir le schema pour l'advection de ! q , en modifiant iadv dans traceur.def (MAF,10/02) . ! Pour Van-Leer + Vapeur d'eau saturee, iadv(1)=4. (F.Codron,10/99) ! Pour Van-Leer iadv=10 !----------------------------------------------------------------------- ! Declarations: ! ------------- REAL zdtvr ! variables dynamiques intermediaire pour le transport ! variables pour le fichier histoire REAL dtav ! intervalle de temps elementaire REAL time_0 LOGICAL lafin INTEGER :: ntime = 10000, it, klon, klev ! locales pour gestion du temps INTEGER :: an, mois, jour REAL :: heure ! Initialisations: ! ---------------- !---------------------------------------------------------------------- ! lecture des fichiers gcm.def ou run.def ! --------------------------------------- preff = 101325. pa = 50000. clon = 0. clat = 0. taux = 3. tauy = 3. dzoomx = 0.1 dzoomy = 0.1 grossismx = 1. grossismx = 1. transx = 0. transy = 0. CALL conf_gcm(99, .TRUE.) IF (mod(iphysiq, iperiod) /= 0) CALL abort_gcm("conf_gcm", & "iphysiq must be a multiple of iperiod", 1) rad = 6400000 g = 9.81 !----------------------------------------------------------------------- ! Choix du calendrier ! ------------------- ! calend = 'earth_365d' !----------------------------------------------------------------------- ! Lecture de l'etat initial : ! --------------------------- !----------------------------------------------------------------------- ! Lecture des parametres de controle pour la simulation : ! ------------------------------------------------------- ! on recalcule eventuellement le pas de temps zdtvr = daysec / REAL(day_step) ! on remet le calendrier \`a zero si demande annee_ref = anneeref day_ref = dayref day_ini = dayref itau_dyn = 0 itau_phy = 0 time_0 = 0. mois = 1 heure = 0. ! CALL ymds2ju(annee_ref, mois, day_ref, heure, jD_ref) jH_ref = jD_ref - int(jD_ref) jD_ref = int(jD_ref) dtvr = zdtvr CALL iniconst PRINT*, 'APRES inisconst' CALL inigeom CALL inigeomphy(iim, jjm, llm, & 1, comm_lmdz, & rlatu, rlatv, & rlonu, rlonv, & aire, cu, cv) CALL suphel !open(82,file='dump_param.bin',form='unformatted',status='old') CALL iophys_ini(900.) PRINT*, 'Rlatu=', rlatu klon = 2 + iim * (jjm - 1) klev = llm !--------------------------------------------------------------------- ! Initialisation de la parametrisation !--------------------------------------------------------------------- CALL call_ini_replay !--------------------------------------------------------------------- ! Boucle en temps sur l'appel à la parametrisation !--------------------------------------------------------------------- DO it = 1, ntime PRINT*, 'Pas de temps ', it, klon, klev CALL call_param_replay(klon, klev) ENDDO END PROGRAM replay3d