Custom Query (964 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (28 - 30 of 964)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Ticket Owner Reporter Resolution Summary
#29 arango m.hadfield Fixed Bugs in Master/mct_roms_wrf.h
Description

A few bugs, discovered while trying to compile BL_TEST case:

  • Fortran include statements don't work; replace with #include
  • Extraneous stuff at end of file; remove.
  • Variable ng declared as argument *and* as local variable in initialize_atmos_coupling.

Modified version attached. However BL_TEST still won't compile, I get

cd Build; g95 -c -fno-second-underscore -O3 -ffast-math ad_conv_3d.f90 /usr/bin/cpp -P -traditional -I/usr/local/include-g95 -DCYGWIN -DI686 -DG95 -D'ROOT_DIR="/tmp/hadfield/src"' -DBL_TEST -D'HEADER="bl_test.h"' -D'ROMS_HEADER="bl_test.h"' -DNestedGrids=1 -D'ANALYTICAL_DIR="/tmp/hadfield/src/ROMS/Functionals"' -D'SVN_REV="exported"' -IROMS/Include -IROMS/Adjoint -IROMS/Nonlinear -IROMS/Representer -IROMS/Tangent -IROMS/SeaIce -IROMS/Utility -IROMS/Drivers -IROMS/Functionals -IMaster -D'HEADER_DIR="./ROMS/Include"' ROMS/Adjoint/ad_convolution.F > Build/ad_convolution.f90 ROMS/Adjoint/ad_convolution.F:1: cppdefs.h: No such file or directory

#31 arango m.hadfield Fixed ana_psource.h problem
Description

When compiled with explicit-shape declarations, subroutine ana_psource_grid (file ROMS/Functionals/ana_psource.h, revision 48) contains

integer, intent(out)
Nsrc

and later there are several arguments dimensioned with this, eg:

logical, intent(out)
Lsrc(Nsrc,NT(ng))
integer, intent(out)
Isrc(Nsrc)

So Lsrc, Isrc, etc are dimensioned with an intent(out) argument, which is illegal and obviously problematic, as the compiler needs to knwo the dimensions before calling the subroutine. However Nsrc can't be made intent(in) as its value is specified inside the subroutine.

Arguments Lsrc, Isrc, etc need to be declared with the same dimensions as the actual arrays they correspond to, namely SOURCES(ng)%Lsrc, SOURCES(ng)%Isrc, etc. The dimensions are determined when they are allocated in subroutine allocate_sources, module mod_sources, the declarations above should be

logical, intent(out)
Lsrc(Msrc,NT(ng))
integer, intent(out)
Isrc(Msrc)

This value has to be fed to the subroutine somehow. I've done it with

#ifndef ASSUMED_SHAPE

USE mod_sources, ONLY : Msrc

#endif

but alternatively it could be fed in as an extra argument.

Corrected file is attached.

#32 arango m.hadfield Fixed Control application cpp flags from make command line
Description

Test cases CANYON and FLT_TEST have 2D and 3D variants. Currently the respective application header files start with

#undef SOLVE3D

and you have to override that somehow to get the 3D case. As far as I know, the only way to do that is to edit the file.

It would be nice to be able to choose between the 2D or 3D versions via the make command line. At the moment there are 2 obstacles:

  • The #undef statement above will take precedence over any arguments passed to cpp. (At least I think so; I haven't checked.)
  • If you just do

make ROMS_APPLICATION=CANYON CPPFLAGS=-DSOLVE3D

then you will override all the CPPFLAGS values constructed in the make file.

So I have made two changes:

  • Remove "#undef SOLVE3D" statements from canyon.h and flt_test.h.
  • In makefile add an additional variable that is passed to cpp. It is called CPP_APP_FLAGS (alternative suggestions welcome).

So to compile the 3D canyon

make ROMS_APPLICATION=CANYON CPP_APP_FLAGS=-DSOLVE3D

I imagine this will be useful in other contexts.

Files attached.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.