Log of /trunk/dyn3d/Guide
Directory Listing
Revision
313 -
Directory Listing
Modified
Mon Dec 10 15:54:30 2018 UTC
(5 years, 6 months ago)
by
guez
Remove module temps. Move variable itau_dyn from module temps to
module dynetat0_m, where it is defined.
Split module dynetat0_m into dynetat0_m and dynetat0_chosen_m. The
motivation is to create smaller modules. Procedures principal_cshift
and invert_zoomx had to stay in dynetat0_m because of circular
dependency. Now we will be able to move them away. Module variables
which are chosen by the user, not computed, in program ce0l go to
dynetat0_chosen_m: day_ref, annee_ref, clon, clat, grossismx,
grossismy, dzoomx, dzoomy, taux, tauy.
Move variable "pa" from module disvert_m to module
dynetat0_chosen_m. Define "pa" in dynetat0_chosen rather than etat0.
Define day_ref and annee_ref in procedure read_serre rather than
etat0.
Revision
265 -
Directory Listing
Modified
Tue Mar 20 09:35:59 2018 UTC
(6 years, 3 months ago)
by
guez
Rename module dimens_m to dimensions.
Revision
254 -
Directory Listing
Modified
Mon Feb 5 10:39:38 2018 UTC
(6 years, 5 months ago)
by
guez
Move Sources/* to root directory.
Revision
221 -
Directory Listing
Modified
Thu Apr 20 14:44:47 2017 UTC
(7 years, 2 months ago)
by
guez
Original Path:
trunk/Sources/dyn3d/Guide
clcdrag is no longer used in LMDZ. Replaced by cdrag in LMDZ. In cdrag
in LMDZ, zxli is a symbolic constant, false. So removed case zxli true
in LMDZE.
read_sst is called zero (if no ocean point on the whole planet) time or
once per call of physiq. If mod(itap - 1, lmt_pas) == 0 then we have
advanced in time of lmt_pas and deja_lu is necessarily false.
qsat[sl] and dqsat[sl] were never called.
Added output of qsurf in histins, following LMDZ.
Last dummy argument dtime of phystokenc is always the same as first
dummy argument pdtphys, removed dtime.
Removed make rules for nag_xref95, since it does not exist any longer.
Revision
211 -
Directory Listing
Modified
Tue Dec 13 17:23:09 2016 UTC
(7 years, 6 months ago)
by
guez
Original Path:
trunk/Sources/dyn3d/Guide
Removed option online = f in conf_guide (following LMDZ).
Moved computation of alpha_[uvtq] from guide to conf_guide. The aim
(for clarity) is to remove from guide things which should only be done
once. Had then to move computation of dxdyu, dxdyv from init_tau2alpha
to conf_guide to avoid circular dependency (use of guide_u, guide_v in
init_tau2alpha).
Revision
178 -
Directory Listing
Modified
Fri Mar 11 18:47:26 2016 UTC
(8 years, 3 months ago)
by
guez
Original Path:
trunk/Sources/dyn3d/Guide
Moved variables date0, deltat, datasz_max, ncvar_ids, point, buff_pos,
buffer, regular from module histcom_var to modules where they are
defined.
Removed procedure ioipslmpp, useless for a sequential program.
Added argument datasz_max to histwrite_real (to avoid circular
dependency with histwrite).
Removed useless variables and computations everywhere.
Changed real litteral constants from default kind to double precision
in lwb, lwu, lwvn, sw1s, swtt, swtt1, swu.
Removed unused arguments: paer of sw, sw1s, sw2s, swclr; pcldsw of
sw1s, sw2s; pdsig, prayl of swr; co2_ppm of clmain, clqh; tsol of
transp_lay; nsrf of screenp; kcrit and kknu of gwstress; pstd of
orosetup.
Added output of relative humidity.
Revision
173 -
Directory Listing
Modified
Tue Oct 6 15:57:02 2015 UTC
(8 years, 9 months ago)
by
guez
Original Path:
trunk/Sources/dyn3d/Guide
correctbid did nothing. (Not used either in LMDZ since revision 1170.)
Avoid aliasing in arguments of nat2gcm: use a single set of arguments
with intent inout. Argument q of nat2gcm was not used.
pres2lev now accepts po in any monotonic order. So the input files for
nudging can now have the pressure coordinate in any order. Also, we
read the latitude coordinate from the input files for nudging and we
invert order if necessary so the input files for nudging can now have
the latitude coordinate in any order.
In pre2lev, no need for lmomx: use automatic arrays.
Removed variable ncep of module conf_guide_m. Instead, we find out
what the pressure coordinate is with find_coord.
Revision
172 -
Directory Listing
Modified
Wed Sep 30 15:59:14 2015 UTC
(8 years, 9 months ago)
by
guez
Original Path:
trunk/Sources/dyn3d/Guide
Just indented correctbid and nat2gcm.
The procedure read_reanalyse just reads the next time slab every time
it is called. No use keeping track of the time index in the calling
procedure, guide. It is simpler to do it in read_reanalyse. Also
simpler to read the number of vertical levels in read_reanalyse than
in guide, since we have already in read_reanalyse the input of
pressure levels. We then have to make the arrays containing reanalyses
static allocatable instead of automatic. Also only read pressure
levels at the first call of read_reanalyse instead of at every call.
masserea2 not used in guide. Remove it down the chain in
read_reanalyse and reanalyse2nat.
Revision
171 -
Directory Listing
Modified
Tue Sep 29 19:48:59 2015 UTC
(8 years, 9 months ago)
by
guez
Original Path:
trunk/Sources/dyn3d/Guide
Removed argument ierr of abort_gcm. It was always 1 and not used.
Just encapsulated pres2lev into a module.
Removed test on run_off in procedure calcul_fluxs. Useless. The test
is always done just before in interfsurf_hq.
Removed named constants rea and repsm in module suphec: never used.
Revision
140 -
Directory Listing
Modified
Fri Jun 5 18:58:06 2015 UTC
(9 years, 1 month ago)
by
guez
Original Path:
trunk/Sources/dyn3d/Guide
Changed unit of variables lat_min_guide and lat_max_guide from module
conf_guide_m from degrees to rad. Then we do not have to convert the
whole array rlat from rad to degrees in SUBROUTINE tau2alpha.
Removed some useless computations in inigeom.
Removed module coefils. Moved variables sddv, unsddv, sddu, unsddu,
eignfnu, eignfnv of module coefils to module inifgn_m. Downgraded
variables coefilu, coefilu2, coefilv, coefilv2, modfrstu, modfrstv of
module coefils to local variables of SUBROUTINE inifilr.
Write and read a 3-dimensional variable Tsoil in restartphy.nc and
startphy.nc instead of multiple variables for the different
subs-urfaces and soil layers. This does not allow any longer to
provide only the surface value in startphy.nc and spread it to other
layers. Instead, if necessary, pre-process the file startphy.nc to
spread the surface value.
Revision
139 -
Directory Listing
Modified
Tue May 26 17:46:03 2015 UTC
(9 years, 1 month ago)
by
guez
Original Path:
trunk/Sources/dyn3d/Guide
dynetat0 read rlonu, rlatu, rlonv, rlatv, cu_2d, cv_2d, aire_2d from
"start.nc" and then these variables were overwritten by
inigeom. Corrected this. Now, inigeom does not compute rlonu, rlatu,
rlonv and rlatv. Moreover, cu_2d, cv_2d, aire_2d are not written to
"restart.nc". Since xprimu, xprimv, xprimm025, xprimp025, rlatu1,
rlatu2, yprimu1, yprimu2 are computed at the same time as rlonu,
rlatu, rlonv, rlatv, and since it would not be convenient to separate
those computations, we decide to write xprimu, xprimv, xprimm025,
xprimp025, rlatu1, rlatu2, yprimu1, yprimu2 into "restart.nc", read
them from "start.nc" and not compute them in inigeom. So, in summary,
"start.nc" contains all the coordinates and their derivatives, and
inigeom only computes the 2D-variables.
Technical details:
Moved variables rlatu, rlonv, rlonu, rlatv, xprimu, xprimv from module
comgeom to module dynetat0_m. Upgraded local variables rlatu1,
yprimu1, rlatu2, yprimu2, xprimm025, xprimp025 of procedure inigeom to
variables of module dynetat0_m.
Removed unused local variable yprimu of procedure inigeom and
corresponding argument yyprimu of fyhyp.
Moved variables clat, clon, grossismx, grossismy, dzoomx, dzoomy,
taux, tauy from module serre to module dynetat0_m (since they are read
from "start.nc"). The default values are now defined in read_serre
instead of in the declarations. Changed name of module serre to
read_serre_m, no more module variable here.
The calls to fxhyp and fyhyp are moved from inigeom to etat0.
Side effects in programs other than gcm: etat0 and read_serre write
variables of module dynetat0; the programs test_fxyp and
test_inter_barxy need more source files.
Removed unused arguments len and nd of cv3_tracer. Removed unused
argument PPSOL of LWU.
Bug fix in test_inter_barxy: forgotten call to read_serre.
Revision
137 -
Directory Listing
Modified
Wed May 6 15:51:03 2015 UTC
(9 years, 2 months ago)
by
guez
Original Path:
trunk/Sources/dyn3d/Guide
Removed unused argument missval in ma_fucoll_r[1-3]1, ma_fufill_r[1-3]1.
Split filtreg into two procedures: filtreg_scal and filtreg_v. I did
not like the test on the extent of the argument and there was no
common code between the two cases: jjm and jjm + 1. Also, it is
simpler now to just remove the argument "direct" from filtreg_v instead
of allowing it and then stopping the program if it is false.
Removed the computation of pkf in reanalyse2nat, was not used.
As a consequence of the split of filtreg, had to extract the
computation of pkf out of exner_hyb. This is clearer anyway because we
want to be able to call exner_hyb with any size in the first two
dimensions (as in test_disvert). But at the same time exner_hyb
required particular sizes for the computation of pkf. It was
awkward. The only computation of pkf is now in leapfrog.
Revision
132 -
Directory Listing
Modified
Fri Mar 20 16:31:06 2015 UTC
(9 years, 3 months ago)
by
guez
Removed procedure jacobi, which was a copy of the file from Numerical
Recipes in Fortran 77. Refer to the Numer_Rec_95 library instead.
There was a strange line in procedure coordij: j cannot be equal to 0
after the loop on j.
Revision
127 -
Directory Listing
Modified
Tue Feb 10 17:58:56 2015 UTC
(9 years, 4 months ago)
by
guez
clon and clat from module serre are now in rad instead of
degrees. They are only used in rad, so we do only one conversion when
we read them.
Revision
116 -
Directory Listing
Modified
Thu Dec 4 16:35:03 2014 UTC
(9 years, 7 months ago)
by
guez
In test_disvert, write output files before testing order of pressure
values, so we have more information if there is a problem.
Revision
115 -
Directory Listing
Modified
Fri Sep 19 17:36:20 2014 UTC
(9 years, 9 months ago)
by
guez
Extracted code from tau2alpha for first call into new procedure
init_tau2alpha. dxdys, dxdyu, dxdyv are now local variables if guide
computed by init_tau2alpha. This allows us to remove terrible argument
type of tau2alpha: we just give to tau2alpha the right dxdy and
rlat.
In module conf_guide_m, changed default values of tau_min_*, because
0.02 is too small for the default daystep = 240, iperiod = 5. Changed
default values of guide_[uv] to false. Moved variable ok_guide from
conf_gcm_m to conf_guide_m, ok_guide is no longer an input parameter,
it is computed from guide_*. Had then to move test on ok_guide and
day_step from conf_gcm_m to conf_guide_m. Added checks on input
nudging parameters in procedure conf_guide. Upgraded variable factt to
module conf_guide_m in order to check nudging parameters. Bug fix:
variable guide_q was not in namelist conf_guide_nml.
Removed unused variables aire_min, aire_max of MODULE guide_m.
Moved the call to conf_guide from guide to gcm. This was needed to
define ok_guide before getting into guide (since ok_guide is no longer
in conf_gcm_m). Moved test on grossismx and grossismy from tau2alpha
to guide. It is clearer now that only tau_max is used for a regular
grid, and we do not have to repeat this test in each call to
tau2alpha. In guide, we only call writefield when alpha is not a
constant.