--- MITgcm_contrib/gael/verification/README 2012/10/10 20:44:59 1.2 +++ MITgcm_contrib/gael/verification/README 2014/11/21 14:38:26 1.6 @@ -1,5 +1,5 @@ -(last edit : oct. 3rd, 2012) +( last edited : October 14th, 2014 -- author : Gael Forget ) --------------------------------------------------------------- A) setup the experiments (incl. llc90 and cs32 core2.cnyf runs) @@ -21,33 +21,28 @@ cvs server. If you completed step1, you indeed already are. If otherwise, see http://mitgcm.org/public/source_code.html 3) step2 creates a directory global_oce_tmp_download that - contains the experiments directories. Move them to - MITgcm/verification and cd to that location. Once you - have done this succesfully you may want to remove - global_oce_tmp_download. We wont need it anymore. + contains the experiments directories. Move them (incl. + global_oce_input_fields) to MITgcm/verification. Once you + have done this succesfully you may want to remove the empty + global_oce_tmp_download directory. We wont need it anymore. 4) exectute MITgcm with testreport. Two examples from one machine. To run the cs32 test on one cpu : ./testreport -t global_oce_cs32 - And to run the llc90 test on 12 cpus, using mpi - ./testreport -match 6 -of=../tools/build_options/linux_amd64_gfortran -MPI 12 -command 'mpirun -np TR_NPROC ./mitgcmuv' -t global_oce_llc90 + And to run the llc90 test on 24 cpus, using mpi + ./testreport -of=../tools/build_options/linux_amd64_gfortran -MPI 24 -command 'mpirun -np TR_NPROC ./mitgcmuv' -t 'global_oce_cs32 global_oce_llc90' The optfile may be swaped for one that better suits your machine. -5) for llc90 experiment testreport should show something like - Y Y Y Y> 6<16 16 12 12 16 16 13 11 12 11 11 11 12 13 10 11 . . pass global_oce_llc90 - Y Y Y N .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . N/O global_oce_llc90.core2 - Y Y Y N .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . N/O global_oce_llc90.ecco_v4 - Y Y Y N .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . N/O global_oce_llc90.ecmwf - implying that the main experiment ran as expected in global_oce_llc90/run. In contrast - the sub-experiments, by default, fail by omission of surface forcing fields. This - omission saves disk space and download time. In case you want to run the sub-experiments, - you will need to obtain additional inputs. Contact us about this if applies. +5) upon completion of the experiments, testreport should return something like + Y Y Y Y>16<16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 . . pass global_oce_cs32 + Y Y Y Y> 7<16 16 12 12 16 16 13 11 13 12 10 11 13 13 11 11 . . FAIL global_oce_llc90 + Y Y Y Y>10<16 13 12 12 13 16 14 11 13 13 11 11 13 13 11 11 . . pass global_oce_llc90.core2 + Y Y Y Y> 4<13 11 9 9 12 16 11 9 10 12 10 10 11 10 8 10 . . FAIL global_oce_llc90.ecco_v4 + Y Y Y Y> 7<10 11 12 11 12 11 13 10 10 12 11 11 12 11 11 10 . . FAIL global_oce_llc90.ecmwf + implying that the main experiment ran as expected in global_oce_llc90/run. ----------------------------------------------------------------------- B) in case you want to change stuff on your end, or for troubleshooting ----------------------------------------------------------------------- -0) to run the core2, ecmwf, and ecco_v4 subexperiments you will need - extra stuff in global_oce_input_fields. Contact us if need be. - 1) In linking the experiments to one another we rely on 'build/genmake_local' and 'input*/prepare_run' which may be worth a special mention, at least to new MITgcm users. @@ -62,25 +57,20 @@ e.g. global_oce_cs32 will get shared files from global_oce_llc90. If you move the directories appart, you will need to edit the paths in input*/prepare_run 1.4) the logic we followed in linking exps to one another : - - forward subexperiments : get local namelists then run input/prepare_run - - adjoint subexperiments : get input_ad.x/namelists then run corresponding forward - subexperiment input.x/prepare_run (that itself ultimately runs input/prepare_run) + - forward subexperiments : get input.xxx/namelists then run input/prepare_run + - adjoint subexperiments : get input_ad.xxx/namelists then run corresponding forward + subexperiment input.xxx/prepare_run (that itself ultimately runs input/prepare_run) 2) In a couple .h files (that you find in the build directory after compiling) small size parameters are used as a default (to save memory of course) and they can become limiting in certain cases : - you may want to integrate the model beyond a few time steps. You will need to - edit ecco_cost.h, increase nchklev_1, nchklev_2, nchklev_3 and recompile. + increase nchklev_1/_2/_3 in tamc.h (e.g. use the values in tamc.h_itXX) and recompile. - you may want to use pkg/profiles (i.e. process insitu data via data.profiles). - You will need to edit profiles.h to increase NOBSGLOB, and recompile. + You will need to increase NOBSGLOB in profiles.h (e.g. use profiles.h_itXX), and recompile. 3) To run the adjoint subexperiments you need the taf/tamc software/license. - --------------------------------------------------------------- -Cheers, -Gael --------------------------------------------------------------- - -