Update to earlier PR: fortran precision handling in inits

#112 Merged
Deleted repository
week-of-code (2e471ad0a5d3)
  1. Daniel Reynolds

Thanks Matt & Greg. It's actually that I'd removed the file enzo_module.src90 from inits, since its functionality was entirely replaced by fortran_types.inc; I'd just forgotten to remove it from the inits build system. I've updated the Makefiles appropriately, and it should now build/run just fine.

Comments (2)

  1. Matt Turk

    Hi Dan, this is great. Maybe I'm doing something wrong, but I'm unable to make inits.exe at all -- it claims there's no rule to make enzo_module.o. If I cat enzo_module.src90 from 2.0 into .F90, I am able to compile, but every object file returns this:

    /bin/bash: line 0: [: -eq: unary operator expected

    Looking at the output of --dry-run it looks like this line gets executed for every object file:

    (if [  -eq 0 ]; then \
              gfortran  -c -o wrapper3d.o -fno-second-underscore -ffixed-line-length-132 -fPIC -O0 -g -DLINUX -DH5_USE_16_API  -D__max_subgrids=100000 -D__max_baryons=30 -D__max_cpu_per_node=8 -D__memory_pool_size=100000 -DINITS64 -DLARGE_INTS -DCONFIG_PINT_8 -DIO_32       -DCONFIG_PFLOAT_8 -DCONFIG_BFLOAT_8  -DUSE_HDF5_GROUPS    -DTRANSFER   -DNEW_GRID_IO -DFAST_SIB      -DENZO_PERFORMANCE  -DSAB wrapper3d.F >& out.compile ; \
              if [ ! -e wrapper3d.o ]; then \

    I believe this can be fixed by defaulting VERBOSE=0 in the Makefile, like is done for the Enzo makefile. Following this, inits.exe runs for me.

  2. Greg Bryan

    Thanks for dealing with this Dan! If I make Matt's changes, I can also compile and produce an inits executable which, when run on AMRCosmology.inits, produces output which is identical to the current enzo-dev tip, so I think this is good to go (once you address Matt's changes).