Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

I would like to use UPP on my Mac, but cannot get a successful build.

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.


Staff member
I'd like to build UPP on my Mac, but the compilation fails. Is UPP supported on Macs and if so, how can I get a successful build?
This issue stems from the nature of case-insensitive systems, such as Mac. Some of the source code files (with file extension “.F”) need to be pre-processed by modifying the original files. This is done by making a copy with the file extension “.f”. For case-insensitive platforms, these new files overwrite the old ones, and do not get created properly, causing the failure.

A handful of modifications can be made in the UPPV4.1 source code to address this issue. These changes have not been extensively tested.

1. Change the file extension from .F to .FTN for 7 files.

sorc/ncep_post.fd/GFSPOST.F → sorc/ncep_post.fd/GFSPOST.FTN
sorc/ncep_post.fd/GFSPOSTSIG.F → sorc/ncep_post.fd/GFSPOSTSIG.FTN
sorc/ncep_post.fd/GRIBIT.F → sorc/ncep_post.fd/GRIBIT.FTN
sorc/ncep_post.fd/INITPOST.F → sorc/ncep_post.fd/INITPOST.FTN
sorc/ncep_post.fd/MICROINIT.F → sorc/ncep_post.fd/MICROINIT.FTN
sorc/ncep_post.fd/kinds_mod.F → sorc/ncep_post.fd/kinds_mod.FTN
sorc/ncep_post.fd/params.F → sorc/ncep_post.fd/params.FTN

2. Modifications to two makefiles for the new file extension naming (Line numbers use the UPPV4.1 release).

- L105
Current: for f in `ls -1 *.F|sed "s/.F$$/.f/"` ; do \
Modification: for f in `ls -1 *.FTN|sed "s/.FTN$$/.f/"` ; do \
- L115
Current: .SUFFIXES: .F .f .f90 .o .c
Modification: .SUFFIXES: .FTN .f .f90 .o .c
- L117
Current: .F.o:
Modification: .FTN.o:

- L100
Current: .SUFFIXES: .F .f .o .f90 .c
Modification: .SUFFIXES: .FTN .f .o .f90 .c
- L102
Current: .F.f:
Modifications: .FTN.f: