My program maintains data in files for several colleagues. The files are small 10 Mb in total.
I am looking to use ONEDRIVE to share these data files between colleagues, each one having to use the data in these files and also having to update the data in these files.
But the files are updated at a random time, sometimes an entire day later. And several times the files were duplicated (by Microsoft-Onedrive) without warning and without giving access to other colleagues.
Is there a way to force files to update and be available to other colleagues?
Well that is a Onedrive problem not really a Fortran problem! I have the opposite problem in that when building projects I pause Onedrive because so many files change so quickly and frequently that file lock and other sync errors occur all the time.
The duplication occurs when the file is changed 'offline' in more than one place so it does not know which version to keep you often get the machine ID tagged on the end of the name.
I have not seen any setting that control frequency of onedrive syncing, on my machines it is often "instant" but at offer times I see some delay.
You might consider using one of the "team version control" systems. These are typically targeted at software development by multiple people whereby an individual of the team can check-out a source file (provided it is not already checked out), then check it back in when the developer is finished updating the file. In your case, you would be checking out the data file(s). You should be able to accomplish this with a function that you write that you call in place of OPEN and CLOSE. Note, MS's ONEDRIVE might not be the best choice if it does not provide the "short" latency desired. Look at the ONEDRIVE documentation, there may be a programming API that forces a sync for a file. Also, you would need to design in how to handle your application ab-ending between opening the closing the file from the shared archive.
A different possibility is to setup your own NAS (Network Attached Storage) and use that in place of using a cloud storage provider.