--- trunk/dyn3d/dynredem0.f 2014/09/18 19:56:46 113 +++ trunk/dyn3d/dynredem0.f 2015/02/13 18:22:38 129 @@ -13,6 +13,7 @@ USE comgeom, ONLY: aire_2d, cu_2d, cv_2d, rlatu, rlatv, rlonu, rlonv USE dimens_m, ONLY: iim, jjm, llm, nqmx USE disvert_m, ONLY: ap, bp, pa, preff, presnivs + use dynetat0_m, only: day_ref, annee_ref USE ener, ONLY: ang0, etot0, ptot0, stot0, ztot0 USE iniadvtrac_m, ONLY: tname, ttext USE ju2ymds_m, ONLY: ju2ymds @@ -22,7 +23,6 @@ USE paramet_m, ONLY: iip1, jjp1, llmp1 USE serre, ONLY: clat, clon, dzoomx, dzoomy, grossismx, grossismy, taux, & tauy - USE temps, ONLY: annee_ref, day_ref use ymds2ju_m, only: ymds2ju CHARACTER(len=*), INTENT(IN):: fichnom @@ -35,12 +35,11 @@ INTEGER, PARAMETER:: length = 100 REAL tab_cntrl(length) ! tableau des paramètres du run - ! Variables locales pour NetCDF: - + ! Pour NetCDF : INTEGER idim_index INTEGER idim_rlonu, idim_rlonv, idim_rlatu, idim_rlatv INTEGER idim_s, idim_sig - INTEGER idim_tim + INTEGER dimid_temps INTEGER ncid, varid REAL zjulian, hours @@ -57,11 +56,11 @@ DO l = 1, length tab_cntrl(l) = 0. END DO - tab_cntrl(1) = real(iim) - tab_cntrl(2) = real(jjm) - tab_cntrl(3) = real(llm) - tab_cntrl(4) = real(day_ref) - tab_cntrl(5) = real(annee_ref) + tab_cntrl(1) = iim + tab_cntrl(2) = jjm + tab_cntrl(3) = llm + tab_cntrl(4) = day_ref + tab_cntrl(5) = annee_ref tab_cntrl(6) = rad tab_cntrl(7) = omeg tab_cntrl(8) = g @@ -78,7 +77,6 @@ tab_cntrl(19) = preff ! Paramètres pour le zoom : - tab_cntrl(20) = clon tab_cntrl(21) = clat tab_cntrl(22) = grossismx @@ -90,7 +88,7 @@ tab_cntrl(28) = taux tab_cntrl(29) = tauy - tab_cntrl(30) = real(iday_end) + tab_cntrl(30) = iday_end CALL nf95_create(fichnom, nf90_clobber, ncid) CALL nf95_put_att(ncid, nf90_global, 'title', & @@ -105,7 +103,7 @@ CALL nf95_def_dim(ncid, 'rlatv', jjm, idim_rlatv) CALL nf95_def_dim(ncid, 'sigs', llm, idim_s) CALL nf95_def_dim(ncid, 'sig', llmp1, idim_sig) - CALL nf95_def_dim(ncid, 'temps', nf90_unlimited, idim_tim) + CALL nf95_def_dim(ncid, 'temps', nf90_unlimited, dimid_temps) ! Definir et enregistrer certains champs invariants: @@ -154,36 +152,36 @@ ! Definir les variables pour pouvoir les enregistrer plus tard: - CALL nf95_def_var(ncid, 'temps', nf90_float, idim_tim, varid) + CALL nf95_def_var(ncid, 'temps', nf90_float, dimid_temps, varid) CALL nf95_put_att(ncid, varid, 'title', 'Temps de simulation') - WRITE(unites, 200) yyears0, mmois0, jjour0 + WRITE(unites, fmt = 200) yyears0, mmois0, jjour0 200 FORMAT ('days since ', I4, '-', I2.2, '-', I2.2, ' 00:00:00') CALL nf95_put_att(ncid, varid, 'units', unites) CALL nf95_def_var(ncid, 'ucov', nf90_float, & - (/idim_rlonu, idim_rlatu, idim_s, idim_tim/), varid) + (/idim_rlonu, idim_rlatu, idim_s, dimid_temps/), varid) CALL nf95_put_att(ncid, varid, 'title', 'Vitesse U') CALL nf95_def_var(ncid, 'vcov', nf90_float, & - (/idim_rlonv, idim_rlatv, idim_s, idim_tim/), varid) + (/idim_rlonv, idim_rlatv, idim_s, dimid_temps/), varid) CALL nf95_put_att(ncid, varid, 'title', 'Vitesse V') CALL nf95_def_var(ncid, 'teta', nf90_float, & - (/idim_rlonv, idim_rlatu, idim_s, idim_tim/), varid) + (/idim_rlonv, idim_rlatu, idim_s, dimid_temps/), varid) CALL nf95_put_att(ncid, varid, 'title', 'Temperature') DO iq = 1, nqmx CALL nf95_def_var(ncid, tname(iq), nf90_float, & - (/idim_rlonv, idim_rlatu, idim_s, idim_tim/), varid) + (/idim_rlonv, idim_rlatu, idim_s, dimid_temps/), varid) CALL nf95_put_att(ncid, varid, 'title', ttext(iq)) END DO CALL nf95_def_var(ncid, 'masse', nf90_float, & - (/idim_rlonv, idim_rlatu, idim_s, idim_tim/), varid) + (/idim_rlonv, idim_rlatu, idim_s, dimid_temps/), varid) CALL nf95_put_att(ncid, varid, 'title', 'C est quoi ?') CALL nf95_def_var(ncid, 'ps', nf90_float, & - (/idim_rlonv, idim_rlatu, idim_tim/), varid) + (/idim_rlonv, idim_rlatu, dimid_temps/), varid) CALL nf95_put_att(ncid, varid, 'title', 'Pression au sol') CALL nf95_enddef(ncid)