Directory trunk/libf/dyn3d/

Total Files:
43
Deleted Files:
148
Lines of Code:
12009

[root]/trunk/libf/dyn3d

Lines of Code

trunk/libf/dyn3d/ Lines of Code

Developers

Author Changes Lines of Code Lines per Change
Totals 802 (100.0%) 9602 (100.0%) 11.9
lguez 482 (60.1%) 3320 (34.6%) 6.8
dcugnet 12 (1.5%) 1988 (20.7%) 165.6
emillour 182 (22.7%) 1728 (18.0%) 9.4
fairhead 66 (8.2%) 988 (10.3%) 14.9
crisi 14 (1.7%) 851 (8.9%) 60.7
jghattas 25 (3.1%) 309 (3.2%) 12.3
fhourdin 12 (1.5%) 180 (1.9%) 15.0
musat 2 (0.2%) 152 (1.6%) 76.0
aslmd 6 (0.7%) 86 (0.9%) 14.3
acozic 1 (0.1%) 0 (0.0%) 0.0

Most Recent Commits

fairhead 2017-04-21 11:52 Rev.: 2859

Preventing a hard to find crash when dimensions are not compatibe with those
of the restart file

2 lines of code changed in 1 file:

  • trunk/libf/dyn3d: dynetat0.f90 (+2 -2)
lguez 2017-01-03 19:00 Rev.: 2740

Added output of nudging coefficients for temperature and humidity,
along those for the wind.

12 lines of code changed in 1 file:

  • trunk/libf/dyn3d: guide_mod.F90 (+12 -4)
dcugnet 2016-10-12 14:53 Rev.: 2665

* A (re)startphy.nc file (standard name: "startphy0.nc") can be read by ce0l to
get land mask, so mask can be defined (in decreasing priority order) from:
1) "o2a.nc file" if this file is found
2) "startphy0.nc" if this file is found
3) "Relief.nc" otherwise
* Sub-cell scales parameters for orographic gravity waves can be read from file
"oro_params.nc" if the configuration key "read_orop" is TRUE.
The effect is to bypass the "grid_noro" routine in ce0l, so that any
pre-defined mask (from o2a.nc or startphy0.nc) is then overwritten.
* The gcm stops if the "limit.nc" records number differs from the current year
number of days. A warning is issued in case the gcm calendar does not match
the time axis attribute "calendar" (if available) from the "limit.nc" file.
This attribute is now added to the "limit.nc" time axis.
* Few simplifications in grid_noro
* Few parameters changes in acama_gwd and flott_gwd.
* Variable d_u can be saved in the outputs.

13 lines of code changed in 2 files:

  • trunk/libf/dyn3d: conf_gcm.F90 (+10 -1), logic_mod.F90 (+3 -2)
emillour 2016-09-04 08:12 Rev.: 2622

Some code tidying: turn ener.h into ener_mod.F90
EM

4 lines of code changed in 7 files:

  • trunk/libf/dyn3d: advect.F (+1 -1), advtrac.F90 (-1), dynetat0.f90 (+1 -1), dynredem.F90 (+1 -1), gcm.F90 (-1), iniacademic.F90 (+1 -1), leapfrog.F (-1)
emillour 2016-07-25 11:31 Rev.: 2603

Cleanup in the dynamics: turn logic.h into module logic_mod.F90
EM

48 lines of code changed in 14 files:

  • trunk/libf/dyn3d: advect.F (+1 -1), advtrac.F90 (-1), conf_gcm.F90 (+3 -1), dteta1.F (+2 -3), dynetat0.f90 (+1 -1), dynredem.F90 (+1 -1), gcm.F90 (+1 -1), iniacademic.F90 (+1 -1), integrd.F (+1 -1), leapfrog.F (+2 -1), logic.h (del), logic_mod.F90 (new 35), vlsplt.F (-4), vlspltqs.F (-3)
emillour 2016-07-24 11:51 Rev.: 2601

Cleanup in the dynamics: turn temps.h into module temps_mod.F90
EM

37 lines of code changed in 12 files:

  • trunk/libf/dyn3d: advtrac.F90 (-1), bilan_dyn.F (+1 -1), conf_gcm.F90 (+1 -1), dynetat0.f90 (+1 -1), dynredem.F90 (+4 -2), fluxstokenc.F (-1), gcm.F90 (+2 -1), iniacademic.F90 (+1 -1), integrd.F (+1 -1), leapfrog.F (+2 -1), temps.h (del), temps_mod.F90 (new 24)
emillour 2016-07-23 07:45 Rev.: 2600

Cleanup in the dynamics: turn comvert.h into module comvert_mod.F90
EM

45 lines of code changed in 19 files:

  • trunk/libf/dyn3d: advect.F (-1), advtrac.F90 (-1), bilan_dyn.F (+1 -1), caldyn.F (+3 -1), dudv2.F (+2 -3), dynetat0.f90 (+2 -1), dynredem.F90 (+3 -3), fluxstokenc.F (+21 -22), gcm.F90 (-1), groupe.F (-1), guide_mod.F90 (+3 -3), iniacademic.F90 (+1 -1), integrd.F (+1 -1), leapfrog.F (+4 -4), qminimum.F (+2 -3), sw_case_williamson91_6.F (+1 -1), top_bound.F (+1 -1), vlsplt.F (-4), vlspltqs.F (-3)
emillour 2016-07-22 11:28 Rev.: 2598

Cleanup in the dynamics: turn serre.h into module serre_mod.F90
EM

8 lines of code changed in 8 files:

  • trunk/libf/dyn3d: addfi.F (-1), conf_gcm.F90 (+2 -3), dynetat0.f90 (+1 -1), dynredem.F90 (+2 -1), gcm.F90 (-2), guide_mod.F90 (+3 -5), integrd.F (-1), leapfrog.F (-1)
emillour 2016-07-22 08:44 Rev.: 2597

Cleanup in the dynamics: get rid of comconst.h, make it a module comconst_mod.
EM

168 lines of code changed in 23 files:

  • trunk/libf/dyn3d: addfi.F (+4 -5), advect.F (+8 -7), advtrac.F90 (+1 -2), bilan_dyn.F (+7 -7), caladvtrac.F (+3 -3), caldyn.F (+4 -5), conf_gcm.F90 (+3 -1), dissip.F (+7 -6), dynetat0.f90 (+1 -1), dynredem.F90 (+1 -1), fluxstokenc.F (+7 -8), friction.F (+6 -7), gcm.F90 (+6 -11), groupe.F (+7 -5), groupeun.F (+12 -8), guide_mod.F90 (+19 -16), iniacademic.F90 (+1 -1), integrd.F (+9 -9), leapfrog.F (+13 -14), sw_case_williamson91_6.F (+7 -6), top_bound.F (+9 -6), vlsplt.F (+14 -17), vlspltqs.F (+19 -16)
emillour 2016-03-22 14:19 Rev.: 2475

Reinstate writehist, writedyn and bilan_dyn in dyn3dmem so that ouputs in the dynamics (dyn_hist* and dynzon files) may be generated when in parallel.
EM

6 lines of code changed in 1 file:

  • trunk/libf/dyn3d: leapfrog.F (+6)
fhourdin 2016-02-15 11:10 Rev.: 2442

ngroup passe du statut de paramètre à constante.
Pour pouvoir l'ajuster en fonction de la resolution
ngroup est maintenant lu dans les .def. ngroup=3 par défaut
ngroup changed from parameter to constant

13 lines of code changed in 3 files:

  • trunk/libf/dyn3d: conf_gcm.F90 (+5), groupe.F (+2 -2), groupeun.F (+6 -6)
lguez 2016-02-03 22:45 Rev.: 2438

Bug fix

2 lines of code changed in 1 file:

  • trunk/libf/dyn3d: gcm.F90 (+2 -2)
emillour 2015-10-18 08:38 Rev.: 2375

Fix in the computation of the date; the convention is that it corresponds to the time at the end of the current dynamics or physics step (except when in backward Matsuno step where it remains unchanged as it was correctly updated during the forward part of the step).
Note that the relationship between itau and date is a bit tricky as itau is incremented between Matsuno forward and backward steps (and from a leapfrog step to the next) but unchanged from Matsuno bacward step to leapfrog step.
Because of change in date when calling physics, bench results will change with this revision.
EM

17 lines of code changed in 1 file:

  • trunk/libf/dyn3d: leapfrog.F (+17 -5)
acozic 2015-10-13 14:41 Rev.: 2372

Change call to inca initialisation to fit with new sections dynamique/physic

0 lines of code changed in 1 file:

  • trunk/libf/dyn3d: gcm.F90 (-24)
emillour 2015-08-25 17:14 Rev.: 2351

More on physics/dynamics separation and cleanup:
- Set things up so that all physics-related initializations are done via iniphysiq.
- Created a "geometry_mod.F90" module in phy_common to store information on the loacl grid (i.e. replaces comgeomphy) and moreover give these variables more obvious names (e.g.: rlond => longitude, rlatd => latitude, airephy => cell_area).
- removed obsolete comgeomphy.h and comgeomphy.F90
EM

8 lines of code changed in 1 file:

  • trunk/libf/dyn3d: gcm.F90 (+8 -5)
emillour 2015-08-24 09:26 Rev.: 2347

Make iniphysiq a module.
Fix call to iniphysiq in lmdz1d (missing arguments and arrays of wrong sizes).
EM

1 lines of code changed in 1 file:

  • trunk/libf/dyn3d: gcm.F90 (+1 -2)
emillour 2015-08-21 17:13 Rev.: 2346

Physics/dynamics separation:
- remove all references to dimensions.h from physics. nbp_lon (==iim) , nbp_lat (==jjm+1) and nbp_lev (==llm) from mod_grid_phy_lmdz should be used instead.
- added module regular_lonlat_mod in phy_common to store information about the global (lon-lat) grid cell boundaries and centers.
EM

1 lines of code changed in 1 file:

  • trunk/libf/dyn3d: gcm.F90 (+1 -1)
emillour 2015-06-17 14:46 Rev.: 2302

Move etat0phys_netcdf.F90 to "dynlonlat_phylonlat/phylmd" as it relies on "phylmd" routines.
Some cleanup to remove obsolete and unecessary CPP_EARTH preprocessing condition.
EM

1 lines of code changed in 1 file:

  • trunk/libf/dyn3d: leapfrog.F (+1 -3)
emillour 2015-06-17 09:33 Rev.: 2301

Moved ioipsl_getin_p_mod.F90 to "phylmd" beacause files in "misc" should rely on neither physics nor dynamics modules (or include) files.
Moved etat0dyn_netcdf.F90 to "dynlonlat_phylonlat/phylmd" as it is only used by ce0l and moreover requires "grid_atob_m" which is in "dynlonlat_phylonlat".
With these adjustements, compiling with '-nophys' works again.
EM

0 lines of code changed in 1 file:

  • trunk/libf/dyn3d: etat0dyn_netcdf.F90 (del)
dcugnet 2015-06-15 20:48 Rev.: 2299

In dyn3d/:
etat0dyn_netcdf.F90: "startget_dyn3d" syntax slightly simplified.
dynredem.F90: Shortcut routines (put_var*, cre_var,
dynredem_write_*, dynredem_read_u)
modified to match dyn3dmem version and put in
module dyredem_mod.F90.
dynetat0.F90 -> *.f90: Few simplifications (no usage of NC_DOUBLE
needed => no precompilation)
Add tracers initialization in the isotope case
suppressed by accident.
dynredem_mod.F90: Created to mimic dyn3dmem equivalent.

In dyn3dmem/:
dynetat0_loc.F -> *.f90: Converted into fortran 90 to match the dyn3d
version.
dynredem_loc.F -> *.F90: Converted into fortran 90.
dynredem_mod.F90: Add some shortcut routines to match the dyn3d
version.

In phylmd/:
phyredem.F90: Bug fix: nsw instead of nsoilmx was used as
Tsoil second maximum index.
Bug fix: fevap instead of snow was saved for
"SNOW".
etat0phys_netcdf.F90: "filtreg_mod" module usage suppressed.
Local variable rugo computation removed (not
used).

In dynlonlat_phylonlat/:
grid_atob_m.F90 -> *.f90 DOUBLE PRECISION variables usage removed.
Precompilation o longer needed => .F90 extension.

562 lines of code changed in 5 files:

  • trunk/libf/dyn3d: dynetat0.F90 (del), dynetat0.f90 (new 202), dynredem.F90 (+79 -263), dynredem_mod.F90 (new 219), etat0dyn_netcdf.F90 (+62 -66)
dcugnet 2015-06-05 21:16 Rev.: 2293

Initial states creation routines have been reorganized and simplified.
As far as possible, dynamics and physics related routines have been
separated.
Some routines have been converted to fortran 90 and repeated codes sections
have been "factorized".
Array/vector arguments have become implicit in some routines to avoid usage
of "dimensions.h" ; possible for routines with explicit interfaces and if
iim and jjm can be deduced from arguments sizes.
* dynlonlat_phylonlat/ce0l.F90 calls now phylmd/etat0phys_netcdf.F90 and
dyn3d/etat0dyn_netcdf.F90 that replace phylmd/etat0_netcdf.F90.
start.nc and startphy.nc creations are now independant.
* startvar.F90 has been suppressed ; corresponding operations have been
simplified and embedded in etat0*_netcdf.F90 routines as internal
procedures.
* Routines converted to fortran 90 and "factorized":
- dyn3d_common/conf_dat_m.F90 (replaces dyn3d_common/conf_dat2d.F
and dyn3d_common/conf_dat3d.F)
- dyn3d/dynredem.F90 (replaces dyn3d/dynredem.F)
- dyn3d/dynetat0.F90 (replaces dyn3d/dynetat0.F)
- phylmd/grid_noro_m.F90 (replaces dyn3d_common/grid_noro.F)
- dynlonlat_phylonlat/grid_atob_m.F90 (replaces dyn3d_common/grid_atob.F)
- dyn3d_common/caldyn0.F90 (replaces dyn3d_common/caldyn0.F)
- dyn3d_common/covcont.F90 (replaces dyn3d_common/covcont.F)
- dyn3d_common/pression.F90 (replaces dyn3d_common/pression.F)
* phylmd/phyredem.F90 and phylmd/limit_netcdf.F90 have been slightly
factorized.

TO DO:
* little fix needed in grid_noro_m.F90 ; untouched yet to ensure results
are exactly the same as before. Unsmoothed orography is used to compute
"zphi", but smoothed (should be unsmoothed) one is used at poles.
* add the dyn3dmem versions of dynredem.F90 and dynetat0.F90
(dynredem_loc.F90 and dynetat0_loc.F90, untested yet).
* test compilation in parallel mode for a single processor.

1413 lines of code changed in 5 files:

  • trunk/libf/dyn3d: dynetat0.F (del), dynetat0.F90 (new 208), dynredem.F (del), dynredem.F90 (new 431), etat0dyn_netcdf.F90 (new 774)
emillour 2015-05-20 15:27 Rev.: 2286

- fix in dyn3d the array out of bound issue (in qminimum) that was only corrected in dyn3dmem in rev 2285.
- comment out many invasive debug writes.
EM

25 lines of code changed in 6 files:

  • trunk/libf/dyn3d: advtrac.F90 (+2 -2), caladvtrac.F (+2 -2), leapfrog.F (+1 -1), qminimum.F (+4 -4), vlsplt.F (+10 -10), vlspltqs.F (+6 -6)
crisi 2015-05-18 11:09 Rev.: 2281

Camille Risi: corrections of bugs for the isotopic part

15 lines of code changed in 5 files:

  • trunk/libf/dyn3d: advtrac.F90 (+3 -1), caladvtrac.F (+2), check_isotopes.F (+6), leapfrog.F (+1), qminimum.F (+3 -3)
fhourdin 2015-05-15 16:24 Rev.: 2277

Ajout d'une instruction RECURSIVE pour les routines d'advection
qui s'appellent elles-même.

3 lines of code changed in 1 file:

  • trunk/libf/dyn3d: vlsplt.F (+3 -3)
crisi 2015-05-07 17:45 Rev.: 2270

Adding isotopes in the dynamics and more generally tracers of tracers.
CRisi

836 lines of code changed in 9 files:

  • trunk/libf/dyn3d: advtrac.F90 (+19 -6), caladvtrac.F (+8 -5), check_isotopes.F (new 195), dynetat0.F (+15), iniacademic.F90 (+20 -1), leapfrog.F (+48 -3), qminimum.F (+108 -3), vlsplt.F (+243 -78), vlspltqs.F (+180 -69)
lguez 2015-04-17 20:14 Rev.: 2263

In the sequential version, ini_getparam and fin_getparam were not
called so guide_init created a file "fort.99". Added call to
ini_getparam and fin_getparam in guide_init. The created file is now
"nudging_parameters_out.txt".

In the parallel version, ini_getparam was called from gcm, with the
argument "out.def". So "out.def" was created even without nudging, it
remained empty. Moved the call to ini_getparam from gcm to
guide_init. Also changed the name of the created file to
"nudging_parameters_out.txt", as in the sequential version. "out.def"
was too vague and confusing a name.

3 lines of code changed in 1 file:

  • trunk/libf/dyn3d: guide_mod.F90 (+3)
lguez 2015-03-25 20:17 Rev.: 2249

abort_message was not defined.

12 lines of code changed in 1 file:

  • trunk/libf/dyn3d: guide_mod.F90 (+12 -13)
lguez 2015-03-25 19:24 Rev.: 2247

We want to keep the same "*.def" files with programs ce0l and gcm. But
there is only a sequential version of program ce0l, which has not the
FFT filter. So we have to ignore the setting of use_filtre_fft in
program ce0l. Moved the test on use_filtre_fft from procedure conf_gcm
to main units ce0l and gcm.

503 lines of code changed in 3 files:

  • trunk/libf/dyn3d: conf_gcm.F90 (+4 -20), gcm.F (del), gcm.F90 (new 499)
emillour 2015-03-23 09:27 Rev.: 2239

Reorganizing physics/dynamics interface:
- what is related to dynamics-physics interface is now in a seperate directory: dynlmdz_phy*** for physics in phy***
- 1d model and related dependencies (including a couple from "dynamics", set up as symbolic links) is now in subdirectory "dyn1d" of phy***.
- "bibio" directory is now "misc" and should only contain autonomous utilities.
- "cosp" is now a subdirectory of phylmd.
EM

8 lines of code changed in 5 files:

  • trunk/libf/dyn3d: advtrac.F90 (+2 -2), calfis.F (del), ce0l.F90 (del), fluxstokenc.F (+4 -4), leapfrog.F (+2 -1)
lguez 2015-03-12 18:13 Rev.: 2230

1 lines of code changed in 1 file:

  • trunk/libf/dyn3d: gcm.F (+1 -1)
lguez 2015-03-12 16:23 Rev.: 2229

For a real calendar in gcm, the variable calend in *.def must now be
equal to gregorian, instead of earth_366d. This is the same value than
the one required in ce0l.

3 lines of code changed in 1 file:

  • trunk/libf/dyn3d: gcm.F (+3 -3)
emillour 2015-03-11 16:55 Rev.: 2225

Some cleanup and tidying up in the dynamics/physics interface.
EM

10 lines of code changed in 1 file:

  • trunk/libf/dyn3d: gcm.F (+10 -44)
emillour 2015-03-10 11:58 Rev.: 2222

Bug fix: Poles are single points on physics grid. True mesh area there is thus the sum of corresponding dynamics "polar meshes" areas.
Note that this also implies that some extra work is needed in physics to generate correct areas at "polar points" for outputs (especially for zoomed grids).
EM

5 lines of code changed in 1 file:

  • trunk/libf/dyn3d: gcm.F (+5 -2)
emillour 2015-03-09 08:38 Rev.: 2221

Some cleanup: remove (unused) clesph0 from dynamics.
EM

8 lines of code changed in 5 files:

  • trunk/libf/dyn3d: calfis.F (-5), ce0l.F90 (+1 -3), conf_gcm.F90 (+3 -15), gcm.F (+2 -14), leapfrog.F (+2 -9)
lguez 2015-03-02 18:11 Rev.: 2218

Bug fix in fxhyp. There was some bad logic for the shifting of
longitude grids rlonuv, rlonv, rlonm025 and rlonp025 toward [- pi,
pi]. In some cases, one of the four grids was not shifted and the
others were. For example, you could see the bug with: iim = 48, clon =
20, grossismx = 3, dzoomx = 0.15. The bad logic involved the variable
is2 in the loop on ik = 1, 4. The loop included some tests depending
on ik. The whole thing was quite convoluted. Rewrote fxhyp. In
particular, replaced the loop on ik by a call to a new procedure,
invert_zoom_x. fxhyp.F was in dyn3d, it is replaced by fxhyp_m.F90
which is in dyn3d_common. Removed several arguments of fxhyp: zoom
parameters are accessed through serre.h; rlonm025 and rlonp025 were
not used in inigeom; min and max of longitude steps are written inside
fxhyp.

Some simplifications and modernizations in fyhyp. In particular,
several arguments are removed: zoom parameters are accessed through
serre.h; yprimv was not used in inigeom; min and max of latitude steps
are written inside fyhyp.

Removed now useless intermediary procedure fxyhyper.

Changed default value of dzoomx and dzoomy from 0 to 0.2. dzoom[xy] is
only needed when grossism[xy] > 1 and then it should be > 0.

dzoom[xy] can no longer be the extent of the zoom in degrees: it must
be expressed as the fraction of the total domain.

4 lines of code changed in 2 files:

  • trunk/libf/dyn3d: conf_gcm.F90 (+4 -2), fxhyp.F (del)
fhourdin 2014-11-19 02:13 Rev.: 2151

Corrections pour le 1D.
Le test recemment introduit sur le fait que iphysiq est multiple
de iperiod est deplace de conf_gcm.F90 vers gcm.F pour éviter
qu'il ne soit actif en 1D.
Le include ../dyn3d/conf_gcm.F est remplace par ../dyn3d/conf_gcm.F90
dans 1DUTILS.h

Bug fixing for 1D


2 lines of code changed in 2 files:

  • trunk/libf/dyn3d: conf_gcm.F90 (-3), gcm.F (+2)
lguez 2014-11-14 15:38 Rev.: 2143

Forgot deletion of fixed source form files.

0 lines of code changed in 1 file:

  • trunk/libf/dyn3d: conf_gcm.F (del)
lguez 2014-11-14 15:32 Rev.: 2142

dyn3d/conf_gcm.F, fixed source form, was included in lmdz1d.F90, free source
form, did not work. So converted conf_gcm.F to free source form. Also
converted dyn3dpar and dyn3dmem versions.

925 lines of code changed in 1 file:

  • trunk/libf/dyn3d: conf_gcm.F90 (new 925)
lguez 2014-11-10 19:32 Rev.: 2141

iphysiq must be a multiple of iperiod: added the test.

29 lines of code changed in 1 file:

  • trunk/libf/dyn3d: conf_gcm.F (+29 -27)
lguez 2014-10-24 19:53 Rev.: 2134

In nudging procedures, replaced explicit Euler integration of nudged
fields by exact integration. This does not change anything if
guide_add is true, but it changes the value of alpha if guide_add is
false. We could have taken into account the variation of the nudging
field during a nudging time step. This would be a small correction. We
choose not to take it into account for the time being. Also, we add a
restriction on zonal nudging: we allow it only for a grid which is
regular in longitude. It does not seem to make sense otherwise and the
exact integration would take more programming for an irregular grid.

In the sequential version, copying the parallel versions, set
iguide_int to 1 when the input value is 0.

13 lines of code changed in 1 file:

  • trunk/libf/dyn3d: guide_mod.F90 (+13 -3)

(70 more)

Generated by StatSVN 0.7.0