lp:~fluidity-core/fluidity/doodson
- Get this branch:
- bzr branch lp:~fluidity-core/fluidity/doodson
Branch merges
Branch information
Recent revisions
- 3992. By Stephan Kramer
-
Hook up the days_since_1jan1975 calendar to the option set under /timestepping/
current_ time/time_ units. A warning is given if no time_units is set and a default 1 Jan 1975 is used. - 3991. By Stephan Kramer
-
Start of reimplementation of tidal boundary forcing (and probably also equilibrium tide). Can now compute Greenwich tide at arbitrary datetime.
Movign Tidal_Modelling.F90 to ocean_forcing/ as it's more appropriate there and we can use its tests/ directory.
Supported tidal constituents: K1,O1,Q1,P1,M2,S2, N2,K2,L2, Mm,Mf and SSa (others could easily be added)
Not yet hooked up to actual boundary forcing. - 3990. By Stephan Kramer
-
This adds the -fno-realloc-lhs flag to FCFLAGS and FFLAGS during configure, when using a gfortran that accepts it. This is a work-around for memory leaks caused by gfortran >=4.6, see http://
gcc.gnu. org/bugzilla/ show_bug. cgi?id= 53389 - 3988. By Jon Hill
-
Minor change to fldecomp makefile.in to get fldecomp to compile on HECToR. Almost got a fully working build...
- 3987. By Stephan Kramer
-
Fixing gmsh reader to read meshes on the sphere (i.e. meshes with topological dimension 2, and coordinate dimension 3).
Also adding a parallel spherical_patch test case that tests this reading, writing out to a checkpoint, and flredecomping to a different number of processes.
Some optimisation and cleaning up of Read_GMSH.F90:
- prevent reading of the gmsh file twice. This was because read_gmsh_simple() called identify_gmsh_file( ) to establish
various dimensions, which it can only do by reading the entire file. Then an appropriate shape functon was allocated
and read_gmsh_to_field was called which read the file again.
- the only version of read_gmsh_files to remain is the _simple version (as this was the only one in use). It
first reads in all the data, then establishes the necessary dimensions and then allocates the appropriate femtools
objects.
- the dimension of the read gmsh mesh is now established from the topology of the mesh, basically looking at the
highest dimension elements present, i.e. if there's tets or hexes it's 3d, otherwise 2d (1d gmsh reading is untested)
Previously this was done by looking at the z coordinate and seeing if it was small using some arbitray, hard-coded definition
of small. This is obviously not a good idea.
- the dimension of the coordinate field that is returned (X%dim) is in most cases chosen to be the same as
the topological dimension. Only with the /geometry/spherical_ earth option this is always 3 so that a 2d spherical
horizontal mesh (to be extruded inside fluidity) can be read. This was broken before. The other codes that use
embedded meshes (shallow water) use a specific option that only works for triangle, so that functionality should
remain unchanged.
- remove identify_gmsh_files( )
- because of this remove identify_mesh_files( ) from the mesh_files module
- in all subroutines of the mesh_files module make format a required argument. Before, if the argument was not present
a "guess" would be made. In some tools where no option tree is present (e.g. test_laplacian) this would always default
to "triangle". These therefore now directly call read_triangle_files. In all other cases the format should be worked
out. For output this can be a bit tricky. For checkpointing the same logic is followed as before (look at the option
under the external mesh). For adaptivity debugging meshes it now always uses gmsh.
- identify_mesh_files( ) was only used in populate_state, in the case of inactive process (flredecomp from less
to more processes), where inactive processed needed to know the dimensions of the mesh. This is now communicated
via a MPI_Scatter() - 3986. By Stephan Kramer
-
Removing three places with hard-coded values (two different ones) for the radius of the earth. This was all in dead code. Hard-coding this is not a good idea, as the mesh generator may have used another one.
Two more places remain: femtools/
projection. cpp and ocean_forcing/ climate_ reader. cpp, these are used in determining what layer of 3D input data to use. This will be fixed (instead using the outer radius
of the original input mesh coordinates) in the rewrite of the netcdf readers. - 3985. By Lawrence Mitchell
-
Fix null dereference when checking halo types
Logical evaluations aren't necessarily short-circuited when an
argument evaluates to .false., soif (associated(foo) .and. (foo%bar == baz))
may dereference foo even if it is unassociated. So don't do it.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:fluidity