# -*- mode: makefile -*- # LFM currently supports the following resolutions: # 53x24x32 on 1,2,4,8 (aka "single) cpus # 53x48x64 on 1,2,4,8,24 (aka "double") cpus # 106x96x128 on 9,18,36,72,144 (aka "quad") cpus # Other (infrequently used) resolutoins: # 106x48x64 # 212x96x128 # 212x192x256 # # The ${NI}, ${NJ}, ${NK}, ${NP} computed here are used to setup soft # links to pre-computed grid resolutions set via the Make target # links[ni]x[nj]x[nk]x[n_processors] # # In the future this file may define TIEGCM grid resolution (2.5 or 5 degree). ifndef RESOLUTION ifndef NI $(info "NI not defined. Defaulting to single res") RESOLUTION=single endif ifndef NJ $(info "NJ not defined. Defaulting to single res") RESOLUTION=single endif ifndef NK $(info "NK not defined. Defaulting to single res") RESOLUTION=single endif ifndef NP $(info "NP not defined. Defaulting to single res") RESOLUTION=single endif endif ifdef RESOLUTION ifeq (${RESOLUTION},single) override NI=53 override NJ=24 override NK=32 override NP=8 endif ifeq (${RESOLUTION},double) override NI=53 override NJ=48 override NK=64 override NP=24 endif ifeq (${RESOLUTION},quad) override NI=106 override NJ=96 override NK=128 override NP=144 endif $(info "RESOLUTION=${RESOLUTION}: NI=${NI}, NJ=${NJ}, NK=${NK}, NP=${NP}") else $(info "Will build for resolution NI=${NI}, NJ=${NJ}, NK=${NK}, NP=${NP}") endif